CommonsChunkPlugin的使用,关于angular2中的polyfills和vendor的疑问解决

seed: angular2-webpack-starter(在github上可以找到)

polyfills:提供api以方便兼容不同的浏览器

vendor:项目插件扩展

在学习ng2中一直不明白为什么src目录要放这两个文件,入口文件中并没有引用这两个文件,而只是在index.html中引用。

webpack打包时也单独将polyfills和vendor打包,这样只是单纯的打包了两个无用的文件,因为index.html真正需要的文件都在

main中打包了,至到我看到webpack.config中的CommonsChunkPlugin插件

CommonsChunkPlugin的作用是提取公共模块打包,在添加这个插件之前,我的mian打包后有1.99M,添加后mian只有几百k,

原因就是因为CommonsChunkPlugin把polyfills和vendor进行了打包,polyfills和vendor中包含了mian所有需要的公共模块,

所以mian不再进行打包这些公共模块,只打包我们自己写的模块。

为什么要把入口分为main,polyfills,vendor就很明确了,目的是要把我们相关的东西打包在一起,进行划分,这样其实我们只用打包一次polyfills,vendor,

后续只用打包mian就可以了,这样构建的速度就会快很多。

本人是新手,如有不对,请喷我。