首页 > 解决方案 > 如何在 package.json 的 npm 脚本中使用 SECRET_ENV?

问题描述

我有一个名为的密钥API_KEY,我想在package.json's内部访问它scripts

包.json

{
   "scripts": {
      "start": "web-ext run --api-key=API_KEY"
   }
}

我的.env文件包含API_KEY

API_KEY=abc123

由于需要公开推送,我如何访问API_KEYinsidepackage.json的值,scripts同时仍然保密?package.json

目前,我做了以下工作但不是跨平台的:

包.json

{
   "scripts": {
      "start": "web-ext run --api-key=$API_KEY"
   }
}

在运行start脚本时,我会这样做:

API_KEY=abc123 npm start

这要归功于 Bash 编程语言,但它不适用于 Windows。我需要$API_KEYstart脚本中替换为%API_KEY%. 但我希望它是跨平台的。还有其他方法吗?

标签: javascriptnode.jsenvironment-variablessecret-key

解决方案


到目前为止,我发现的唯一其他可行的答案有点老套:

{
   "scripts": {
      "start": "web-ext run --api-key=$(grep API_KEY .env | cut -d '=' -f2)"
   }
}

[ https://stackoverflow.com/a/58038814/1822977 ]


推荐阅读