Javascript 带Ember CLI的UMD
我正试图通过Ember cli在我的Ember应用程序中加载。我通过Javascript 带Ember CLI的UMD,javascript,ember.js,ember-cli,Javascript,Ember.js,Ember Cli,我正试图通过Ember cli在我的Ember应用程序中加载。我通过bower安装了该应用程序,并将其导入我的ember cli build.js文件中。它通过以下方式将\uu作为一个库包括在内: if (typeof define === 'function' && define.amd) { define(['jquery', 'lodash'], factory); } define.amdevaluation tofalse 我研究了这种情况的原因,发现embe
bower
安装了该应用程序,并将其导入我的ember cli build.js
文件中。它通过以下方式将\uu
作为一个库包括在内:
if (typeof define === 'function' && define.amd) {
define(['jquery', 'lodash'], factory);
}
define.amd
evaluation tofalse
我研究了这种情况的原因,发现ember cli的加载程序不支持UMD
。在开放式cli上,主要cli开发人员之一Stefan Penner建议:
这是故意的。因为此库需要一个预构建步骤来
取消模块的匿名性。这一步可以做适当的咀嚼
正确工作
我不知道那是什么意思。我通过在我自己的
ember cli build
中手动导入此库的依赖项来绕过这个问题,但这违背了依赖项管理的目的。如何使此库解析其自己的模块?新Ember项目的最新Ember CLI蓝图包含ember自动导入
是一个库,允许在ember中导入任何NPM库。不需要配置。它也可以安装在使用较旧的Ember CLI版本的项目中,这是推荐的方法
如果您不想安装其他依赖项(即使它是官方蓝图的一部分),则Ember CLI不仅支持通过app.import('path/to/entry point.js')
,还支持:
正常情况下,这会进入您的ember cli build.js
Sidenode:有一段时间是CommonJS模块的推荐解决方案。但它已被弃用,取而代之的是ember自动导入
app.import('path/to/entry-point.js', {
using: [
{ transformation: 'amd', as: 'your-named-import' }
]
});