[英]UMD With Ember-CLI
我正在嘗試通過 ember-cli 在我的 Ember 應用程序中加載gridstack 。 我通過bower
安裝了該應用程序並導入到我的ember-cli-build.js
文件中。 它包括_
作為一個庫,通過:
if (typeof define === 'function' && define.amd) {
define(['jquery', 'lodash'], factory);
}
define.amd
evaulates到false
我調查了為什么會這樣,發現 ember-cli 的加載程序不支持UMD
。 在開放 cli問題上,主要 cli 開發人員之一 Stefan Penner 建議:
這是設計使然。 因為這個庫需要一個預構建步驟來對模塊進行去匿名化。 該步驟可以進行適當的修改以正常工作
我不知道這意味着什么。 我通過在這個庫之前在我自己的ember-cli-build
手動導入這個庫的依賴項來解決這個問題,但這ember-cli-build
了依賴項管理的目的。 我怎樣才能讓這個庫解析它自己的模塊?
新 Ember 項目的最新 Ember CLI 藍圖包含ember-auto-import 。 ember-auto-import
是一個允許在 Ember 中導入任何 NPM 庫的庫。 無需配置。 它也可以使用較舊的 Ember CLI 版本安裝在項目中,這是推薦的方式。
如果您不想安裝額外的依賴項 - 即使它是官方藍圖的一部分 - Ember CLI 不僅通過app.import('path/to/entry-point.js')
支持標准命名的 AMD 資產,還支持 標准匿名AMD 資產:
app.import('path/to/entry-point.js', {
using: [
{ transformation: 'amd', as: 'your-named-import' }
]
});
正常情況下,這會進入您的ember-cli-build.js
。
Sidenode:有一段時間ember- browserify 是 CommonJS 模塊的推薦解決方案。 但它已被棄用,取而代之的是ember-auto-import
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.