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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM