1蕉饼、advanced module optimization 編譯速度很慢的問題
安裝babel-plugin-dynamic-import-node
依賴礼旅,然后在.babelrc文件中添加即可
npm install babel-plugin-dynamic-import-node --save-dev
.babelrc中添加
###.babelrc
{
"plugins": ["dynamic-import-node"]
}
此段選自:CSDN,作者:勇敢的豆沙包届巩,傳送門
2跋核、css-loader版本過高導(dǎo)致編譯速度慢
- 開啟
devtool: "#inline-source-map"
會增加編譯時間 - css-loader 0.15.0+ 使webpack加載變得緩慢
//css-loader 0.16.0
Hash: 8d3652a9b4988c8ad221
Version: webpack 1.11.0
Time: 51612ms
//以下是css-loader 0.14.5
Hash: bd471e6f4aa10b195feb
Version: webpack 1.11.0
Time: 6121ms
此段選自GitHub,作者:hawx1993爹凹,傳送門
3、thread-loader多線程打包
{
test: /\.js$/,
exclude: /node_modules/,
// 創(chuàng)建一個 js worker 池
use: [
//直接在loader之前使用
'thread-loader',
'babel-loader'
]
},
//自定義配置行
use[
{
loader: "thread-loader",
// loaders with equal options will share worker pools
// 設(shè)置同樣option的loaders會共享
options: {
// worker的數(shù)量镶殷,默認是cpu核心數(shù)
workers: 2,
// 一個worker并行的job數(shù)量禾酱,默認為20
workerParallelJobs: 50,
// 添加額外的node js 參數(shù)
workerNodeArgs: ['--max-old-space-size=1024'],
// 允許重新生成一個dead work pool
// 這個過程會降低整體編譯速度
// 開發(fā)環(huán)境應(yīng)該設(shè)置為false
poolRespawn: false,
//空閑多少秒后,干掉work 進程
// 默認是500ms
// 當(dāng)處于監(jiān)聽模式下绘趋,可以設(shè)置為無限大颤陶,讓worker一直存在
poolTimeout: 2000,
// pool 分配給workder的job數(shù)量
// 默認是200
// 設(shè)置的越低效率會更低,但是job分布會更均勻
poolParallelJobs: 50,
}
}
'babel-loader'
]
此段選自掘金陷遮,作者:好學(xué)習(xí)吧丶滓走,傳送門