Ember CLI-将已编译的Coffeescript(或已转换的Javascript)导出到全局命名空间



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

如果我们在每个文件的底部添加一行,指定它们为ES6模块,那么额外的coffee脚本似乎只能编译:

`export default ModuleVariable`

这一行将它们添加到转换后的Ember代码的其余部分,如果没有它,Coffeescapet似乎根本无法编译。这通常是好的,但添加这一行也将它们封装在AMD风格的模块中,正如人们所期望的那样。是否有任何方法可以使用Ember CLI将它们导出到AMD模块之外,以便在浏览器加载后立即运行代码?

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

window.ModuleVariable = require('my-ember-app/module-variable')['default']

相关内容

  • 没有找到相关文章