webpack 如何区分开发环境和生产环境

第一种方法:

方法出处:命令行接口(CLI) | webpack 中文文档

1.利用webpack.config.js 返回的是个函数,利用函数的参数,来区分环境

具体步骤

1) package.json文件:在npm scripts 命令后面追加 --node-env production/development

复制代码
  "build": "webpack --config webpack.config.js --node-env development"

2)webpack.config.js 是个函数形式,可以看到函数有两个参数,把参数都打印出来看看,可以看到process.nodeEnv 既是上述 --node-env 后面设置的值

复制代码
const path = require('path');
module.exports = (env,process)=>{
  console.log('Production: ', env); 
  console.log('process',process);
  console.log(process.nodeEnv);
  return {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'webpack-numbers-test.js',
    library: {
      type:'umd',
      name:"webpackNumbersTest"
    },
    globalObject: 'this',
    clean:true
  },
  externals:{
    commonjs: 'lodash',
    commonjs2: 'lodash',
    amd: 'lodash',
    root: '_',
  }
};
}

第二种方法:

  1. 安装 cross-env

    npm install cross-env -D

  2. 在package.json npm scripts 前面追加 cross-env NODE_ENV=production/development

    "build": "cross-env NODE_ENV=production webpack --config webpack.config.js",

3.即可在webpack.config.js 中访问 process.env.NODE_ENV

第三种方法

将公共的,生产和开发的不同抽离出来,利用webpack-merge 进行合并

方法出处:生产环境 | webpack 中文文档

相关推荐
kyriewen4 分钟前
程序员连夜带团队跑路,省了23万:这AI太贵,真的用不起了
前端·javascript·openai
kyriewen34 分钟前
你写的代码没有测试,就像出门不锁门——Jest + Testing Library 从入门到不慌
前端·单元测试·jest
yuzhiboyouye1 小时前
web前端英语面试
前端·面试·状态模式
canonical_entropy2 小时前
下一代低代码渲染框架 nop-chaos-flux 的设计原则
前端·低代码·前端框架
东方小月3 小时前
5分钟搞懂Harness Engineering(驾驭工程):从提示词到AI Agent的进化之路
前端·后端·架构
我叫黑大帅3 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试
之歆3 小时前
DAY_21JavaScript 深度解析:数组(Array)与函数(Function)(一)
前端·javascript
XinZong4 小时前
【AI社交】基于OpenClaw自研轻量化AI社交平台实战
前端
Le_ee4 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php
爱上好庆祝4 小时前
学习js的第七天(wed APIs的开始)
前端·javascript·css·学习·html·css3