2014-10-07 34 views
0

我們試圖將我們的傳統項目遷移到使用ES6模塊的Ember CLI/Ember App Kit結構,但我們有一些傳統的Coffeescript文件需要在Ember App上下文中運行。我們試圖通過使用'ember-cli-coffeescript'Ember插件/ npm模塊將Coffeescript文件包含在Broccoli資產管道中。Ember CLI - 將編譯後的Coffeescript(或編譯後的Javascript)導出到全局命名空間?

額外coffeescripts似乎只編譯如果再加上一行的每個文件的指定底部,ES6模塊他們像這樣:

`export default ModuleVariable` 

這條線將它們添加到transpiled灰燼其餘代碼沒有它,Coffeescript似乎根本不會被編譯。這通常會很好,但是正如人們所期望的那樣,添加這一行也將它們包裝在AMD風格的模塊中。有沒有辦法使用Ember-CLI將它們導出到AMD模塊之外,這樣代碼在瀏覽器加載後立即運行?

回答

0

似乎在灰燼-CLI約定來處理這個最好的方法是使用上面的ES6模塊輸出代碼,並在需要的ES6模塊採用傳統的AMD類似語法中的index.html另外添加一行:

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