0

我们正在尝试使用 ES6 模块将遗留项目迁移到 Ember CLI/Ember App Kit 结构,但是我们有一些遗留的 Coffeescript 文件需要在 Ember App 上下文之外运行。我们正在尝试通过使用“ember-cli-coffeescript”Ember 插件/npm 模块将 Coffeescript 文件包含在 Broccoli 资产管道中。

如果我们将 a 行添加到每个文件的底部,将它们指定为 ES6 模块,那么额外的咖啡脚本似乎只能编译,如下所示:

`export default ModuleVariable`

这一行将它们添加到转译的 Ember 代码的其余部分,没有它,Coffeescript 似乎根本不会被编译。这通常没问题,但添加这一行也会将它们包装在 AMD 样式模块中,正如人们所期望的那样。有没有办法使用 Ember-CLI 将它们导出到 AMD 模块之外,以便在浏览器加载后立即运行代码?

4

1 回答 1

0

在 Ember-CLI 约定中处理此问题的最佳方法似乎是使用上面的 ES6 模块导出代码,并在 index.html 中添加另一行,该行需要使用传统 AMD 语法的 ES6 模块,例如:

window.ModuleVariable = require('my-ember-app/module-variable')['default']
于 2014-10-07T21:15:12.390 回答