gpt4 book ai didi

javascript - UMD 与 Ember-CLI

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:40 25 4
gpt4 key购买 nike

我正在尝试加载 gridstack通过 ember-cli 在我的 Ember 应用程序中。我通过 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 建议:

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 项目的最新 Ember CLI 蓝图包含 ember-auto-import . ember-auto-import 是一个允许在 Ember 中导入任何 NPM 库的库。无需配置。它也可以安装在使用旧版 Ember CLI 的项目中,这是推荐的方式。

如果您不想安装额外的依赖项 - 即使它是官方蓝图的一部分 - Ember CLI 不仅支持 Standard Named AMD Asset通过 app.import('path/to/entry-point.js') 还有 Standard Anonymous AMD Asset :

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

通常这会进入您的 ember-cli-build.js

旁节点:有一段时间了ember-browserify是 CommonJS 模块的推荐解决方案。但它已被弃用,取而代之的是 ember-auto-import

关于javascript - UMD 与 Ember-CLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32098749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com