我的網站有兩種頁:的WebPack:require.ensure和額外的供應商捆綁
頁即JavaScript小部件的頁面(類型A)的主要內容,並在小部件是一些額外的內容,那用戶可能要觸發(TypeB)。
所以我想我的JS代碼庫分成三束:
vendor.js
- 這是包含在所有runtime.js
頁 - widget的- 針對不同頁面的具體切入點
對於類型A-網頁我有這樣的:
<script src="vendor.js"></script>
<script src="runtime.js"></script>
<script src="pageA.js"></script>
<!-- pageA.js launches the widget -->
但對於我的TypeB希望得到以下
<script src="vendor.js"></script>
<scriprt>
<!-- pseudo code -->
when('user clicks button', function() {
require.ensure('pageB.js', function(require) {
var pageBCode = require('pageB.js');
<!-- do the magic -->
<!-- but I also need runtime.js here -->
});
});
</script>
的問題是,我想在這兩個同步和異步頁面重用runtime.js
。但我想不通如何加載runtime.js
以及我的按需加載pageB.js
。我仍然需要通過<script src="runtime.js"></script>
來包含它。
(我用CommonChunksPlugin
創建vendor.js
和runtime.js
,和它運作良好,在類型A頁)
require.ensure(['pageB.js','runtime.js'],....)' – Thaadikkaaran
您可以使用['bundle-loader'](https://github.com/webpack/bundle-loader)加載捆綁文件 – Thaadikkaaran