当前位置: 首页 > 文档资料 > EmberJS 入门教程 >

EmberJS - 管理依赖关系( Managing Dependencies)

优质
小牛编辑
130浏览
2023-12-01

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

Addons

Ember CLI可用于使用以下命令安装Ember插件 -

ember install ember-cli-sass

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

Bower

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

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

bower install <dependencies> --save

Assets

您可以将第三方JavaScript放在项目的vendor/文件夹中,这些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清单文件中,您可以包括 -

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