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 中文文档

相关推荐
醉方休1 分钟前
React 官方推荐使用 Vite
前端·react.js·前端框架
Dontla6 分钟前
React惰性初始化函数(Lazy Initializer)(首次渲染时执行一次,只执行一次,应对昂贵初始化逻辑)(传入一个函数、传入函数)
前端·javascript·react.js
lypzcgf14 分钟前
FastbuildAI新建套餐-前端代码分析
前端·智能体平台·ai应用平台·agent平台·fastbuildai
南囝coding27 分钟前
Claude Code 插件系统来了
前端·后端·程序员
Ya-Jun35 分钟前
快应用TypeError: The ‘compilation‘ argument must be an instance of Compilation错误
node.js·ux·js
摇滚侠1 小时前
Spring Boot 3零基础教程,WEB 开发 默认的自动配置,笔记25
前端·spring boot·笔记
Cherry Zack1 小时前
Vue Router 路由管理完全指南:从入门到精通前言
前端·javascript·vue.js
亮子AI1 小时前
【npm】npm install 产生软件包冲突怎么办?(详细步骤)
前端·npm·node.js
Q_Q5110082851 小时前
python+uniapp基于微信小程序的心理咨询信息系统
spring boot·python·微信小程序·django·flask·uni-app·node.js
汪汪大队u2 小时前
为什么 filter-policy 仅对 ASBR 的出方向生效,且即使在该生效场景下,被过滤的路由在协议内部(如协议数据库)依然存在,没有被彻底移除?
服务器·前端·网络