EmberJS - 管理依赖项

Ember 使用 NPM 和 Bower 来管理依赖项,这些依赖项在 NPM 的 package.json 和 Bower 的 bower.json 中定义。例如,在开发 Ember 应用时,您可能需要为样式表安装 SASS,而 Ember 并未安装 SASS。为此,请使用 Ember Addons 来共享可重用的库。如果您想要安装任何 CSS 框架或 JavaScript 日期选择器依赖项,请使用 Bower 包管理器。

插件

可以使用 Ember CLI 安装 Ember 插件,方法是使用以下命令 −

ember install ember-cli-sass

ember install 命令 会将所有依赖项保存到相应的配置文件中。

Bower

它是一个 Web 包管理器,用于管理 HTML、CSS、JavaScript 或图像文件的组件。它基本上维护和监控所有包并检查新更新。它使用配置文件 bower.json 来跟踪放置在 Ember CLI 项目根目录中的应用程序。

您可以使用以下命令 − 安装项目依赖项

bower install <dependencies> --save

资产

您可以将第三方 JavaScript 放在项目的 vendor/ 文件夹中(这些文件夹不可用作 Addon 或 Bower 包),并将自己的资产(如 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'
      ]
   }
});

环境特定资产

通过将对象定义为第一个参数(即环境名称),可以在不同的环境中使用不同的资产,并且对象的值应在该环境中用作资产。在 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 文件夹中的图标,它将被复制到 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 中的字体文件。