第一種方法:
方法出處:命令行接口(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 中文文檔