如何在 npm 包中使用环境变量

How can you use an environmental variable with an npm package

我有一个创建 GitHUb 存储库的 npm 包(用 node.js 编写)。我想更新使用 OAuth 令牌的授权。 Oauth 令牌需要一个客户端 ID 和一个我需要保密的客户端密码。如何在不泄露信息和破坏我的凭据的情况下将其包含在 npm 包中。

您不在包中包含令牌,而是从您的环境中读取它。然后您可以在包中读取这些变量。

例如,如果将变量导出为环境变量,则可以通过procss.env读取它们。

var clientId = process.env.MY_CLIENT_ID;
var clientSecret = process.env.MY_CLIENT_SECRET;

console.log(clientId, clientSecret);

然后在 shell 或初始化 shell 的点文件中,您可以简单地导出值。

export MY_CLIENT_ID='myid'
export MY_CLIENT_SECRET='mysecret'

为了与持续集成服务一起使用,应该有一种创建秘密或隐藏环境变量的方法 (for example with Travis CI)。


或者,如果您需要使用这些相同的凭据,并且您不希望人们能够访问这些凭据,则必须设置一个服务器来接受来自客户端的请求并使用您的凭据执行这些操作.