node.js - 将 process.env.NODE_ENV 与 String 进行比较

标签 node.js environment-variables

为什么当我比较这两个时我得到false

const production = process.env.NODE_ENV === 'production';

即使我将 process.env.NODE_ENV 设置为生产环境,我仍然得到 false 值。

为什么?

示例:

package.json 脚本:

"scripts": {
    "start:prod": "set NODE_ENV=production && nodemon server.js"
}

VS 代码

const production = process.env.NODE_ENV === 'production';

console.log(process.env.NODE_ENV); // production
console.log(typeof process.env.NODE_ENV); // string
console.log(typeof 'production'); // string
console.log(production) // false

为什么即使值完全相同,生产也会返回 false?

最佳答案

要在 powershell 中设置 Node 环境,请使用以下命令:

$env:NODE_ENV = '生产'

去掉&&前后的空格

"scripts": {
    "start:prod": "set NODE_ENV=production&&nodemon server.js"
}

关于node.js - 将 process.env.NODE_ENV 与 String 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62675738/

相关文章:

node.js - 更长的 Nodemailer Html/文本

node.js - 如何使用feathersjs声明内部服务而不需要restful?

php - 在 .htaccess 中设置环境变量并在 PHP 中检索它

node.js - Node : Use environment variables in front end scripts

node.js - node.js 服务器是否需要互联网连接才能运行?

javascript - 在 Javascript 中访问嵌套数据的更好模式

node.js - Mongoose 查询子文档

docker - 通过 docker-compose 将环境变量传递给 YAML

windows - 如何在CreateProcess实例化的命令中使用或扩展环境变量?

sqlite - 如何在 SQLite3 查询中包含环境变量