webpack 4 升级点

webpack 4 升级点:

  • 默认entry为./src,默认output为/dist
  • sideEffects
    在webapck2开始支持ESModule后,webpack提出了tree-shaking进行无用模块的消除,主要依赖ES Module的静态结构。在webapck4之前,主要通过在.babelrc文件中设置"modules": false来开启无用的模块检测,该方法显然比较粗暴。webapck4灵活扩展了如何对某模块开展无用代码检测,主要通过在package.json文件中设置sideEffects: false来告诉编译器该项目或模块是pure的,可以进行无用模块删除。
  • 废弃CommonsChunkPlugin
    webpack4废弃了CommonsChunkPlugin,引入了optimization.splitChunks和optimization.runtimeChunk,旨在优化chunk的拆分。
  • plugin
    内置optimization.minimize来压缩代码,不用再显示引入UglifyJsPlugin;
    废弃CommonsChunkPlugin插件,使用optimization.splitChunks和optimization.runtimeChunk来代替;
    使用optimization.noEmitOnErrors来替换NoEmitOnErrorsPlugin插件
    使用optimization.namedModules来替换NamedModulesPlugin插件
  • loader
    废弃json-loader,友好支持json模块,以ES Moudle的语法引入,还可以对json模块进行tree-shaking处理;
原文地址:https://www.cnblogs.com/cag2050/p/9954166.html