UMD使用Ember-CLI

时间:2015-08-19 14:46:28

标签: javascript ember.js ember-cli

我正在尝试通过ember-cli在我的Ember应用程序中加载gridstack。我通过bower安装了该应用程序,并将其导入我的ember-cli-build.js文件中。它包括_作为库:

if (typeof define === 'function' && define.amd) {
    define(['jquery', 'lodash'], factory);
}

define.amd评估为false

我调查了为什么会这样,并发现ember-cli的加载器不支持UMD。在一个开放的cli issue上,主要cli开发人员之一Stefan Penner建议:

  

这是设计的。由于此库需要预构建步骤   对模块进行去匿名化。那一步可以做适当的改编   工作正常

我不知道这意味着什么。我通过在这个库之前手动导入我自己的ember-cli-build中的这个库的依赖关系解决了这个问题,但这违背了依赖管理的目的。如何让这个库解析自己的模块?

1 个答案:

答案 0 :(得分:0)

目前的ember-cli版本不仅通过app.import('path/to/entry-point.js')支持Standard Named AMD Asset,还支持Standard Anonymous AMD Asset

app.import('path/to/entry-point.js', {
  using: [
    { transformation: 'amd', as: 'your-named-import' }
  ]
});

正常情况下,这会进入您的ember-cli-build.js

Sidenode:CommonJS模块可以通过ember-browserify加载。