EmberJS - 管理依赖关系

Ember使用NPM和Bower来管理在针对NPM的package.json和针对Bower的 bower.json 中定义的依赖关系.例如,您可能需要在开发Ember应用程序时为Ember安装的样式表安装SASS.为此,请使用 Ember Addons 来共享可重用的库.如果要安装任何CSS框架或JavaScript datepicker依赖项,请使用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

资产

您可以将第三方JavaScript放入供应商/项目的文件夹,不能作为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 清单文件中,您可以包含as :

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 中的字体文件.