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