拥有2个配置文件在webpack中是常见的模式。
    一个典型的项目可能有:

    • 用于开发的配置文件,配置热更新,跨域配置,端口设置等。
    • 用于生产的配置文件,配置js压缩,代码拆分等。

    虽然在较大的项目可能任然需要2个配置文件,但是在webpack4.0中,你可以在没有一行配置的情况下完成。

    细心的朋友会发现在npm run build打包后会有一段报警提示
    ‘mode’选项尚未设置,webpack将会退到‘production’。将‘mode’选项设置为‘development’或者‘production’以启用每个环境的默认值。你还可以将其设置为‘none’以禁止任何默认行为。
    image.png

    1.打开package.json并填充script部分,如下所示:

    1. "dev": "webpack --mode development",
    2. "build": "webpack --mode production",

    2.运行npm run dev

    打开./build/bundle.js,是一个bundle(包)文件,并没有压缩!
    image.png

    3.运行npm run build
    可以看到./build/bundle.js文件已经压缩了
    image.png

    其实在终端里面发现,看构建完的大小,dev模式下文件大小是3.81KB,build模式下文件大小仅为966字节
    image.pngimage.png

    production mode(生成模式)可以开箱即用地进行各种优化。包括压缩,作用域提升,tree-shaking等。
    另一方面,development mode(开发模式)针对速度进行了优化,仅仅提供了一种不压缩的bundle。

    在webpack4.0中,可以在没有一行配置的情况下完成任务!只需定义-mode的参数即可获得所有内容!