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`。

廣告
© . All rights reserved.