node.js process.env.NODE_ENV 无法判断问题?

执行npm start

//package.json
"scripts": {
    "start": "set NODE_ENV=production && npm run build && node babel/server",
    "build": "babel app -d babel"
  },
//server.js
var env = process.env.NODE_ENV;
console.log(env, env == "production");

//输出结果
//production  false

为什么明明是一样对比的时候却不一致?

update1:
图片描述
图片描述
图片描述

阅读 9.6k
3 个回答

谢邀 production 不要留空格

"start": "set NODE_ENV=production&& npm run build && node babel/server",

直接看输出的什么吧

console.log(`+${env}+`, env === "production");
declare -x NODE_ENV=production && node temp.js

自己测试通过

如果不通过,用typeof env把类型打印出来看一下,有可能是 object

把命令里面的set改成export

export NODE_ENV=production

你用set命令把空格带进环境变量里去了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进