webpack 2.x 迁移

截止至目前,在 webpack 官网 上已经有说明:webpack v1 已经废弃了,在 npm 上 latest 的 tag 已经指向了 2.2.1。

需要做的改动如下:

  • module.loaders 改名为 module.rulesloaders 参数变成了 usequery 参数变成了 options
  • loader 名称中的 -loader 需要手动添加
  • 不再需要 json-loader
  • webpack.optimize.UglifyJsPlugin 默认不生成 sourcemap,需要手动开启
  • 不再需要 webpack.optimize.DedupePlugin
  • webpack.optimize.OccurrenceOrderPlugin 默认开启,所以不再需要
  • ExtractTextWebpackPlugin 需要使用 2.x 版本,并且修改了 api
  • 支持动态 import 了,可以写 import(\./routes/${path}/route`)`
  • 支持解析 importexports 关键字了,不再需要 babel 对上面两个关键字进行编译。在 .babelrc 中关闭
{
    "presets": [
        [
            "es2015",
            {
                "modules": false
            }
        ],
        "react",
        "stage-0"
    ]
}
  • webpack-dev-server 不再接受 contentBase 参数,换成了 proxy
  • postcss-loader 的参数需要写到 loader 的 options 中
  • webpack.NoErrorsPlugin 被替换成了 webpack.NoEmitOnErrorsPlugin
  • 升级 html-webpack-plugin 到最新版,v2.27.0 修复了 wepback@2.x 中 chunksorter 的问题

其他兼容的变更,不需要改动:

  • require 中支持 es6 template string
  • webpack.config.js 支持异步配置
  • webpack.config.js 不再接受不能识别的配置参数
  • webpack-dev-server 的控制台输出更少信息

参考资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容