NODE_ENV在Express应用中无法正确比较

时间:2019-03-05 17:09:55

标签: node.js express

我正在尝试使用Next.js运行快速应用程序。我基本上已经控制住了它,但是出于某种原因,package.json确实将NODE_ENV分配给了正确的值,但是将两者进行比较似乎不起作用。

json中的脚本:

"scripts": {
  "dev": "nodemon start server.js",
  "build": "next build",
  "start": "set NODE_ENV=production && node server.js"
},

应用程序:

const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });

无论我做什么,似乎都正确分配了值,但是比较总是返回true。如果我尝试使用==或===进行if-else语句,则所有语句都会通过,因为它不匹配。我已经同时安慰他们两个,在末尾添加了一个数字以查看区别,除添加的数字外的所有内容都是正确的。

1 个答案:

答案 0 :(得分:0)

在package.json中使用:

"scripts": {
    "dev": "nodemon start server.js",
    "build": "next build",
    "start": "NODE_ENV=production node server.js"
},

观察到我已经删除了开始脚本中的集合和&&。 完成此操作后,请确保通过执行

来执行脚本
npm start

如果您仍然遇到问题,请console.log process.env.NODE_ENV交叉检查您得到了什么。