簡體   English   中英

帶有 Ember-CLI 的 UMD

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM