javascript – 使用Ember-CLI的UMD
作者:互联网
我试图通过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 issue上,主要cli开发人员之一Stefan Penner建议:
This is by design. As this library requires a pre build step to
de-anonymize the modules. That step can do the appropriate munging to
work correctly
我不知道这意味着什么.我通过在这个库之前手动导入我自己的ember-cli-build中的这个库的依赖关系解决了这个问题,但是这违背了依赖管理的目的.如何让这个库解析自己的模块?
解决方法:
目前的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加载.
标签:javascript,ember-js,ember-cli 来源: https://codeday.me/bug/20190711/1433875.html