通過package.json 的scripts腳本 修改NODE_ENV的值來區分開發環境和生產環境。
"scripts": {
"build": "set NODE_ENV=production && webpack",
"dev": "set NODE_ENV=development && webpack-dev-server",
"test": "echo \"Error: no test specified\" && exit 1"
},
webpack.config.js
//webpack.config.js
// 首先引入插件1
const HtmlWebpackPlugin = require('html-webpack-plugin');
const isDev = process.env.NODE_ENV === "development";
console.log('process.env.NODE_ENV')
console.log(process.env.NODE_ENV)
console.log((process.env.NODE_ENV == "development" ? 'true1' : 'false1'))
console.log(isDev)
console.log(123)
執行 npm run dev
打印結果
process.env.NODE_ENV
development
false1
false
123
那么問題來了 ~~~ 打印出的process.env.NODE_ENV 的值已經是
development
但是判斷起來依然是false。
解決辦法如下
1. 修改package.json
"scripts": {
"build": "set NODE_ENV=production && webpack",
"dev": "set NODE_ENV=development&& webpack-dev-server",
"test": "echo \"Error: no test specified\" && exit 1"
},
因為你的NODE_ENV是【production 】,多了一個空格~~
1、set NODE_ENV=production&& webpack
2.
//webpack.config.js
// 首先引入插件1
const HtmlWebpackPlugin = require('html-webpack-plugin');
const isDev = (process.env.NODE_ENV.trim()) === "development";
再次打印
process.env.NODE_ENV
development
true1
true
123