1
我們遇到了在現有的項目一個有趣的問題,模塊加載順序在requirejs
- 我們使用requireJS
- 我們所有的模塊都符合AMD(我們有很多他們)
- 我們需要將
babel-polyfill
的子集作爲AMD模塊加入到該項目中。 - 這不是可以手動一個一個
- 我們的代碼進行了優化,捆綁使用
r.js
我們的主文件看起來是這樣的這種依賴關係添加到所有模塊:// main.js
require(
[
'router',
'someOtherModule', /* In reality we have quite a few more here */
], function(Router, AppModule) {/*... app code ...*/}
)
所以我們想在加載任何其他模塊之前加載這個polyfill
模塊main.js
什麼將不起作用:
- Shim-Shim用於非AMD模塊。
- 將polyfill添加到上面的列表
router
- 在r.js吐出的縮小代碼中,不能保證polyfill
實際上在router
之前的代碼中,它不是定義的行爲,因此不能計算在內。 - 與另一
require['polyfill']
呼叫包裝紙似乎一切都搞砸了r.js優化,它似乎不會捆綁在一起的其他模塊,如果他們包裹在require[]
。 - 由於
polyfill
是AMD模塊,我們不能只將其包含在<HEAD>
選項3仍然是我們正在調查,看它是否是可能的事情。
所以,問題是 - 我們正在試圖做的可能是什麼?