在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ webpack打包entry的問(wèn)題

webpack打包entry的問(wèn)題

clipboard.png
如圖,我想把react-redux,redux單獨(dú)提出來(lái)到vendors中。最后打包出來(lái)的main.js居然還是包含了react-redux,redux的代碼。這是怎么回事。應(yīng)該怎么做才能完全分離出來(lái)

回答
編輯回答
網(wǎng)妓

你應(yīng)該需要把公共代碼抽出來(lái),類似下面的代碼:

plugins: [
  new webpack.optimize.CommonsChunkPlugin({
    name: "vendor",
    minChunks: Infinity
  })
]

具體參考鏈接:commons-chunk-plugin

最后,感謝邀請(qǐng),希望幫到你

2018年4月6日 21:36
編輯回答
青瓷

謝邀!
首先您要明白 webpack 本身只能打包c(diǎn)ommonjs規(guī)范的js文件,并無(wú)其他功能。那我們其他功能怎么來(lái)的呢?loader 和 plugin 顯得尤為重要!

loader 用于加載某些資源文件,它作用于一個(gè)個(gè)文件上。諸如css,圖片,jsx, coffee等等,webpack是沒(méi)有辦法加載的。 這就需要對(duì)應(yīng)的loader將資源轉(zhuǎn)化并加載進(jìn)來(lái)。

而plugin用于擴(kuò)展webpack的功能。它直接作用于 webpack。當(dāng)然loader也時(shí)變相的擴(kuò)展webpack ,但是它只專注于轉(zhuǎn)化文件(transform)這一個(gè)領(lǐng)域。而plugin的功能更加的豐富,而不僅局限于資源的加載,比如我們公共代碼提取就需要webpack插件CommonsChunkPlugin,大致代碼如下:

new webpack.optimize.CommonsChunkPlugin({
    name: "vendors",
    children: true,
    // (選擇所有被選 chunks 的子 chunks)
    minChunks: 3,
}),

詳細(xì)文檔請(qǐng)參考:
中文地址:https://doc.webpack-china.org...
英文地址:https://webpack.js.org/plugin...

2017年10月14日 19:21