webpack 4.0更新摘要

334 阅读1分钟

webpack4.0新特新总览

  1. 环境

    不再支持nodejs4及以下版本,源代码已经更新到更高的es版本

  2. 用法
  • 现在你必须在(mode 或 --mode)选择其中之一,分别代表了生产环境和开发环境
    • 生产环境允许各种优化手段去生成更优的bundle
    • 开发环境允许注释以及提示并且允许使用eval devtool
    • 生产环境不支持文件监视, 开发环境做了更快构建的优化
    • 生产环境允许使用scope hoisting
    • process.env.NODE_ENV 会被设置成开发环境或者生产环境(仅在build所生成的代码中)
    • node模式将会禁止所有东西
  1. 语法
    • import()总是会返回一个命名空间对象,commonJS模块被包裹在默认的导出中
    • 如果你用commonJS语法使用import(), 这个可能会中断你的代码
  2. 配置
    • 你不再需要下面这些插件
      • NoEmitOnErrorsPlugin->optimization.noEmitOnErrors 默认会在生产环境中被导入
    • ModuleConcatenationPlugin->optimization.concatenateModules 默认在生产环境中导入
    • NamedModulesPlugin -> optimization.namedModules 默认在开发环境中导入
    • CommonsChunkPlugin被移除,变为optimization.splitChunks, optimization.runtimeChunk
  3. JSON
    • webpack现在自带处理JSON插件
      • 你在通过loader将JSON转换给js的时候,可能需要增加type: "javascript/auto"
      • 不带loader使用JSON应该仍然可以工作
    • 允许通过js语法导入json
  4. 优化
    • 更新uglifyjs-webpack-plugin到v1

以上摘抄自webpack官方 release