2016-12-13 62 views
0
new webpack.ProvidePlugin({ 
     util: path.join(src, 'util.js'), 
     API: path.join(src, 'api.js') 
    }) 

webpack編譯後,有很多chunksdist我的項目目錄。Webpack,DedupePlugin不支持代碼拆分和ProvidePlugin?

每個chunk使用APIUtil並且每個chunk具有APIUtil代碼。看來DedupePlugin無法正常工作。

我想將APIUtil解壓縮到一個單一chunk或添加條目bundle文件。

我該怎麼辦?非常感謝。

回答

0

聽起來像是你正在尋找的CommonsChunkPlugin

entry: { 
api: path.join(src, 'api.js'), 
utils: path.join(src, 'util.js'), 
app: "./entry" 
} 

... 

new CommonsChunkPlugin({ 
    name: "commons", 
    // (the commons chunk name) 

    filename: "commons.js", 
    // (the filename of the commons chunk) 

    chunks: ["api", "util"], 
    // (Only use these entries) 
}) 

只要確保你的主應用程序

<script src="commons.js" charset="utf-8"></script> 
<script src="entry.bundle.js" charset="utf-8"></script> 
+0

呀,謝謝你之前裝入普通塊。但是我想用'ProvidePlugin'來提供全局模塊變量。 而且不想把'api'和'util'輸入。 – novaline

+0

我認爲有unneccssary使用'CommonsChunkPlugin',只需設置這樣的:'條目:{公地: 'API', 'UTIL']}',但我的情況下,''CommonsChunkPlugin'可以options.chunks'是'''1.chunk','2.chunk','3.chunk'....]'。 – novaline