我试着跟着教程,上面写着:
有几种方法可以加载凭据。 从环境变量加载, 从磁盘上的JSON文件加载, 关键字如下: USER_ID, USER_KEY ...这意味着如果您正确地设置了环境变量,您就可以 根本不需要在应用程序中管理凭据。
根据一些谷歌搜索,似乎我需要在process.env?我如何以及在哪里设置这些凭证?示例请。
我试着跟着教程,上面写着:
有几种方法可以加载凭据。 从环境变量加载, 从磁盘上的JSON文件加载, 关键字如下: USER_ID, USER_KEY ...这意味着如果您正确地设置了环境变量,您就可以 根本不需要在应用程序中管理凭据。
根据一些谷歌搜索,似乎我需要在process.env?我如何以及在哪里设置这些凭证?示例请。
当前回答
环境变量(在本例中)用于向应用程序传递凭据。USER_ID和USER_KEY都可以从process.env中访问。USER_ID和process.env。USER_KEY分别。你不需要编辑它们,只需要访问它们的内容。
看起来他们只是让你选择从任何一个进程加载你的USER_ID和USER_KEY。Env或磁盘上的某个指定文件。
现在,当您运行应用程序时,奇迹发生了。
USER_ID=239482 USER_KEY=foobar节点app.js
这将传递用户id 239482和用户密钥作为foobar。这适用于测试,但是对于生产,您可能需要配置一些bash脚本来导出变量。
其他回答
我强烈建议你查查dotenv包。
https://github.com/motdotla/dotenv
它有点类似于@Benxamin回答中建议的库,但它要干净得多,并且不需要任何bash脚本。同样值得注意的是,代码库很受欢迎,维护得很好。
基本上你需要一个.env文件(我强烈建议忽略你的git/mercurial/etc):
FOO=bar
BAZ=bob
然后在你的申请入口文件中尽早输入以下一行:
require('dotenv').config();
繁荣。完成了。的过程。Env '现在将包含上面的变量:
console.log(process.env.FOO);
// bar
”。Env文件不是必需的,所以你不需要担心你的应用程序在它缺席时崩溃。
我发现了一个很好的工具。
node-env-file
解析并加载环境文件(包含ENV变量导出)到Node.js环境,即process。env -使用这种风格:
.env
# some env variables
FOO=foo1
BAR=bar1
BAZ=1
QUX=
# QUUX=
环境变量(在本例中)用于向应用程序传递凭据。USER_ID和USER_KEY都可以从process.env中访问。USER_ID和process.env。USER_KEY分别。你不需要编辑它们,只需要访问它们的内容。
看起来他们只是让你选择从任何一个进程加载你的USER_ID和USER_KEY。Env或磁盘上的某个指定文件。
现在,当您运行应用程序时,奇迹发生了。
USER_ID=239482 USER_KEY=foobar节点app.js
这将传递用户id 239482和用户密钥作为foobar。这适用于测试,但是对于生产,您可能需要配置一些bash脚本来导出变量。
如果你使用的是mac/linux,你想检索你正在使用的机器的本地参数,这是你要做的:
在终端运行nano ~/.bash_profile 添加如下一行:export MY_VAR=var 保存并运行source ~/.bash_profile 在节点中使用console.log(process.env.MY_VAR);
windows用户:小心!建议在Unix系统下使用这些命令。但在Windows上,它们不会持续存在,它们只在当前shell中设置了一个变量,当你重新启动时,它就会消失。
SET TEST="hello world" $env:TEST = "hello world"
Windows下设置持久环境变量的3种方法:
A) .env文件在你的项目-最好的方法。因为你可以将该文件复制到任何计算机,并在运行项目时获得相同的配置。
在你的项目根目录下创建一个。env文件,内容如下:TEST="hello world" 编写一些将读取该文件的节点代码。我建议安装dotenv (npm install dotenv——save),然后添加require('dotenv').config();在节点设置代码期间。 process.env.TEST现在在node中可用
env文件是将api-key排除在代码库之外的一种好方法
B)使用Powershell -这将创建一个变量,可在其他终端访问。但这很糟糕,因为重启电脑后它就会丢失。
[Environment]::SetEnvironmentVariable("TEST", "hello world", "User")
这种方法在Windows论坛上被广泛推荐,人们似乎没有意识到在系统重新启动后它不会持续....
C)使用Windows GUI
在开始菜单中搜索“环境变量”或在控制面板中选择“编辑系统环境变量”。打开一个对话框,点击对话框底部的“环境变量”按钮,打开一个编辑视图,点击“新建”按钮,添加一个新的环境变量。一件容易的事。并且即使在重新启动后仍然存在。但您不应该使用它来配置特定的代码库。