1)去掉不必要的插件

开发环境和生产环境应用同一个webpack配置文件,导致生产环境打包的js文件蕴含很多没必要的插件(如:NoEmitOnErrorsPlugin)

2)提取第三方库

第三方库和源代码在一起打包体积会很大

CommonsChunkPlugin 提取代码中公共模块,而后将公共模块打包到一个独立的文件中,以便在其余的入口和模块中应用。

3)代码压缩

内置插件UglifyPlugin,退出这个插件编译速度会变慢,所以个别只在生产环境启用

4)代码宰割(webpack的code split配合router)

·webpack的code spliting个性能够将代码库宰割成按需加载的块(chunks)

·AMD/commmonJS指定不同的办法去做代码按需加载,他们反对代码宰割并充当宰割点

·不反对es6的模块零碎

5)设置缓存

对于动态文件,第一次获取之后,文件内容没有扭转的话间接读取缓存,然而如果缓存工夫过长文件要更新的话能够打包后的文件名退出hash值。