之前沒有注意webpack打包后的文件的大小,直到某次用firebug無意中發(fā)現(xiàn),天吶,居然有1MB+,這么大的文件在線上項(xiàng)目顯然是不可以的,于是開始研究如何壓縮文件。
文件壓縮
- Uglify
webpack自帶了Uglify插件,通過插件我們可以對(duì)代碼進(jìn)行壓縮合并并去除注釋,請(qǐng)看代碼:
plugins: [
new webpack.optimize.UglifyJsPlugin({
output: {
comments: false,
},
compress: {
warnings: false
}
})
],
其中output是刪除注釋的
合并共同依賴
- CommonsChunkPlugin
同樣在plugins中設(shè)置
plugins: [
new webpack.optimize.CommonsChunkPlugin('vender','vender.js')
]
在entry中設(shè)置:
entry: {
vender:['react','react-dom']
}
entry中的key是plugins中的文件名
結(jié)果
通過這兩種方法,文件有效壓縮到了7KB,vender大小為211KB,應(yīng)該還有其他辦法,繼續(xù)探索中...
Tips: UglifyJsPlugin中的comments會(huì)把作者信息一并刪除,為了壓縮體積不得不這么做,因此將作者信息放在單獨(dú)文件中統(tǒng)一聲明