Webpack5 - 区分开发和生产环境配置

一. webpack 不同环境的配置

对于项目的开发和生产打包,这两种情况下,我们通常需要不同的webpack配置。

有如下两种方法,可以针对不同环境 应用不同的 webpack 配置。

二. 方法一 根据环境不同导出不同的配置

webpack.config.js: 

module.exports = (env, argv) => {
    const config = {...}

    if(env && env.production) {

        config.mode = 'production'
        config.devtool = 'none'
        config.plugins = [
            ...config.plugins,
            new CleanWebpackPlugin(),
            new CopyPlugin({
                patterns: [
                    { from: 'public', to: 'public' },
                ]
            }),
        ]
    }

    return config;
}

  执行生产打包:

yarn webpack --env production

三. 方法二 不同环境对应不同的配置文件

此时,需要三个配置文件:

webpack.common.js

webpack.dev.js

webpack.prod.js

1. webpack.common.js 开发和生产的通用配置

2. webpack.dev.js 和 webpack.prod.js,合并通用配置并设置自己的配置

  如:webpack.prod.js:

const common = require('./webpack.common.js')
const { merge } = require('webpack-merge')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const CopyWebpackPlugin = require('copy-webpack-plugin')

const config = merge(common, {
    // mode: 'production',
    plugins: [
        new CleanWebpackPlugin(),
        new CopyWebpackPlugin({
            patterns: [
                { from: 'public', to: 'public' },
            ]
        })
    ]
})

module.exports = config;

3. 打包命令:

yarn webpack --config webpack.prod.js  // 生产打包

yarn webpack --config webpack.dev.js   // 开发打包

本文 完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值