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