npm 中设置环境NODE_ENV变量,判断失败打印process.env.NODE_ENV确实是"development",但是判断process.env.NODE_ENV === "development" 是false

通过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

 

posted @ 2020-03-03 14:28  糖~豆豆  阅读(8908)  评论(3编辑  收藏  举报
Live2D