如何在npm中为package.json依赖项使用(环境)变量?

时间:2018-12-30 15:39:21

标签: github npm environment-variables npm-install package.json

在npm中,我希望能够通过git+https方式从私有GitHub存储库中安装软件包作为依赖项,而不必对实际的github_username:personal_access_token进行硬编码,而是将它们插入依赖项中字符串作为(环境)变量。

所以不是

package.json

...
"dependencies": {
  ...
  "my-private-github-repo": "git+https://<github_username>:<personal_access_token>@github.com/some/package.git",
  ...
}

我想要这样的东西:

package.json

...
"dependencies": {
  ...
  "my-private-github-repo": "git+https://${github_username}:${personal_access_token}@github.com/some/package.git",
  ...
}

将版本控制应用于 package.json时,硬编码凭据是主要的禁止事项。

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

  1. .env 所在的同一目录级别创建 package.json 文件。
  2. PERSONAL_ACCESS_TOKEN=******************************* 文件中提及 .env
  3. 不要忘记将 .env 添加到 .gitingore 列表中,这将防止在您将 git 提交到您的存储库时将密钥暴露给外界。
  4. 现在您可以在 package.json 中添加您的依赖项,如下所示,

"dependencies": {
...
  "my-private-github-repo": "git+https://${ENV.PERSONAL_ACCESS_TOKEN}@github.com/USER/abcd-repo-3.4.0.git",
  ...
}

还有其他使用“DOTENV”npm 包的方法,但是当我们尝试解决“Github”包依赖性时,它无能为力。以上似乎是直接的解决方案。