- EmberJS 教程
- EmberJS - 首页
- EmberJS - 概述
- EmberJS - 安装
- EmberJS - 核心概念
- 创建和运行应用程序
- EmberJS - 对象模型
- EmberJS - 路由器
- EmberJS - 模板
- EmberJS - 组件
- EmberJS - 模型
- EmberJS - 依赖管理
- EmberJS - 应用程序相关问题
- EmberJS - 配置 Ember.js
- EmberJS - Ember Inspector
- EmberJS 有用资源
- EmberJS - 快速指南
- EmberJS - 有用资源
- EmberJS - 讨论
EmberJS - 依赖管理
Ember 使用 NPM 和 Bower 来管理依赖项,这些依赖项在 `package.json` (用于 NPM) 和 `bower.json` (用于 Bower) 中定义。例如,您可能需要安装 SASS 用于样式表,而这在开发 Ember 应用程序时 Ember 并没有安装。要实现此目的,请使用 `Ember Addons` 来共享可重用的库。如果要安装任何 CSS 框架或 JavaScript 日期选择器依赖项,请使用 Bower 包管理器。
Addons
可以使用 `Ember CLI` 通过以下命令安装 Ember Addons:
ember install ember-cli-sass
`ember install` 命令会将所有依赖项保存到相应的配置文件中。
Bower
这是一个用于 Web 的包管理器,它管理 HTML、CSS、JavaScript 或图像文件的组件。它基本上维护和监控所有包并检查新的更新。它使用配置文件 `bower.json` 来跟踪放置在 Ember CLI 项目根目录中的应用程序。
可以使用以下命令安装项目依赖项:
bower install <dependencies> --save
资源
您可以将项目中作为 Addon 或 Bower 包不可用的第三方 JavaScript 放置在项目的 `vendor/` 文件夹中,并将自己的资源(例如 robots.txt、favicon 等)放置在项目的 `public/` 文件夹中。在开发 Ember 应用程序时 Ember 并未安装的依赖项,应使用清单文件 `ember-cli-build.js` 包含。
AMD JavaScript 模块
您可以将资源路径作为第一个参数,将模块和导出的列表作为第二个参数。您可以将这些资源包含在 `ember-cli-build.js` 清单文件中,如下所示:
app.import('bower_components/ic-ajax/dist/named-amd/main.js', { exports: { 'ic-ajax': [ 'default', 'defineFixture', 'lookupFixture', 'raw', 'request' ] } });
特定环境的资源
可以通过将对象作为第一个参数定义(它是环境名称),并将对象的 value 作为该环境中的资源来使用不同的资源。在 `ember-cli-build.js` 清单文件中,您可以将其包含为:
app.import ({ development: 'bower_components/ember/ember.js', production: 'bower_components/ember/ember.prod.js' });
其他资源
将所有资源放置在 `public/` 文件夹后,它们将被复制到 `dist/` 目录中。例如,如果您复制放置在 `public/images/favicon.ico` 文件夹中的 favicon,它将被复制到 `dist/images/favicon.ico` 目录中。第三方资源可以手动添加到 `vendor/` 文件夹中,或者通过 `import()` 选项使用 Bower 包管理器添加。未使用 `import()` 选项添加的资源将不会出现在最终构建中。
例如,考虑以下代码行,它将资源导入 `dist/` 文件夹。
app.import('bower_components/font-awesome/fonts/fontawesome-webfont.ttf');
上面的代码行在 `dist/font-awesome/fonts/fontawesomewebfont.ttf` 中创建一个字体文件。您也可以将上面的文件放在不同的路径中,如下所示:
app.import('bower_components/font-awesome/fonts/fontawesome-webfont.ttf', { destDir: 'assets' });
它会将字体文件复制到 `dist/assets/fontawesome-webfont.ttf`。