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

相关推荐
寅时码2 小时前
React 之死·终章:一个 useRef,把闭包陷阱、依赖数组、漫天 rerender 全送走
前端·react.js·ai编程
不好听6132 小时前
HTML 事件监听机制:从 DOM Level 0 到 React 合成事件
前端·react.js·html
wordbaby2 小时前
为什么刷新页面就 404?聊聊 SPA 路由与 Nginx 的那点事
前端
不好听6132 小时前
React 核心概念:JSX、组件与数据驱动
前端·react.js
触底反弹2 小时前
🔥 React 零基础入门(中):500 行屎山代码到组件化的蜕变
前端·javascript·react.js
不好听6132 小时前
React vs Vue:两大前端框架技术选型深度对比
前端·vue.js·react.js
GuWenyue2 小时前
Cursor黑盒拆解!1套LangChain.js手写Mini编程Agent,自动生成React项目,效率提升60%
前端·数据库·人工智能
GuWenyue2 小时前
传统Agent工具两大痛点!300行代码落地MCP跨语言工具,彻底解耦LLM与工具
前端·人工智能·算法
小林ixn3 小时前
从 onclick 到 React 合成事件,再到完整应用逻辑:一次前端架构的深度剖析
前端·react.js·前端框架
Csvn4 小时前
🧩「找不到模块」排查全记录——Monorepo 下 TypeScript 路径别名的 5 种「不通」与根治方案
前端