编程语言
首页 > 编程语言> > javascript – 使用Ember-CLI的UMD

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