gpt4 book ai didi

node.js - 我正在使用 Windows 10,我似乎无法在我的终端上使用设置 nodejs 上的环境变量

转载 作者:行者123 更新时间:2023-12-05 06:49:44 31 4
gpt4 key购买 nike

我是 nodejs 的初学者。我创建了两个具有不同名称和 mail.host 的 json 文件。第一个叫做 development.json

{
"name": "My Express App - Development",
"mail": {
"host": "dev-mail-server"
}
}

还有一个是production.json

{
"name": "My Express App - Production",
"mail": {
"host": "prod-mail-server"
}
}

在我的 index.js 上执行以下代码后,即使在终端中使用 set NODE_ENV="production" 后,终端也会打印相同的输出。我的代码中似乎有什么问题?非常感谢!

console.log(`Application Name: ${config.get('name')}`)
console.log(`Mail Server: ${config.get('mail.host')}`)

最佳答案

我假设您正在使用 config包裹。我在 Windows 10 中创建了一个示例应用程序,以使用以下文件结构测试所有这些。我怀疑你只需要省略引号,例如

SET NODE_ENV=development

当您设置 NODE_ENV 变量时。

这是应用的详细信息:

文件夹结构

project
| app.js
|
└──config
| development.json
| production.json

app.js

const config = require('config');
console.log(`Application Name: ${config.get('name')}`);
console.log(`Mail Server: ${config.get('mail.host')}`);

development.json

{ "name": "My Express App - Development", "mail": { "host": "dev-mail-server" } }

production.json

{ "name": "My Express App - Production", "mail": { "host": "prod-mail-server" } }

命令提示符测试

如果我打开命令窗口并输入:

SET NODE_ENV=development
node app.js

我得到输出:

Application Name: My Express App - Development
Mail Server: dev-mail-server

如果我输入:

SET NODE_ENV=production
node app.js

我得到输出:

Application Name: My Express App - Production
Mail Server: prod-mail-server

Powershell 测试

如果我打开 Powershell 窗口并输入:

$env:NODE_ENV="development"
node app.js

我得到输出:

Application Name: My Express App - Development
Mail Server: dev-mail-server

如果我输入:

$env:NODE_ENV="production"
node app.js

我得到输出:

Application Name: My Express App - Production
Mail Server: prod-mail-server

同样

关于node.js - 我正在使用 Windows 10,我似乎无法在我的终端上使用设置 nodejs 上的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66541577/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com