我试着跟着教程,上面写着:

有几种方法可以加载凭据。 从环境变量加载, 从磁盘上的JSON文件加载, 关键字如下: USER_ID, USER_KEY ...这意味着如果您正确地设置了环境变量,您就可以 根本不需要在应用程序中管理凭据。

根据一些谷歌搜索,似乎我需要在process.env?我如何以及在哪里设置这些凭证?示例请。


当前回答

对于windows用户来说,这个Stack Overflow问题和顶部答案对于如何通过命令行设置环境变量非常有用

如何在Windows中设置NODE_ENV=production ?

其他回答

如果你正在使用visual studio代码调试功能,你可以添加"envFile": "${workspaceRoot}/。Env”启动配置。这样你就不用用dotenv了。

{
        "cwd": "${workspaceRoot}",
        "command": "npm start",
        "name": "Run be",
        "request": "launch",
        "type": "node-terminal",
        "envFile": "${workspaceRoot}/.env"
},

创建一个名为local-env的文件,并用变量填充它

PORT=80
DB_NAME=foo
SOME_URL=example.com

现在这样运行node:

source ./local_env ; node index.js

就像ctrlplusb说的,我建议你使用包dotenv,但另一种方法是创建一个js文件,并要求它在你的应用服务器的第一行。

js:

process.env.VAR1="foo"
process.env.VAR2="bar"

app.js:

require('./env') // env.js relative path.
console.log(process.env.VAR1) // foo

如果你使用的是mac/linux,你想检索你正在使用的机器的本地参数,这是你要做的:

在终端运行nano ~/.bash_profile 添加如下一行:export MY_VAR=var 保存并运行source ~/.bash_profile 在节点中使用console.log(process.env.MY_VAR);

使用cross-env。这会让你免去很多头疼的事情

-S cross-env

cross-env PARAM=value node ./index.js

这通常适用于非凭证。比如证书和钥匙 最好不要存储硬编码的用户id和密码,而是使用不在repo和dotenv中的.env文件