如何在项目中而不是脚本中设置参数 NODE_EXTRA_CA_CERTS

dav*_*hag 5 httprequest ssl-certificate node.js

我有一个使用 node.js 和 Jest 构建的 api 测试项目,它使用“request-promise”npm 包将 http 请求发送到多个域。最近我开始使用带有新域的 api 并收到以下错误:

RequestError:错误:证书链中的自签名证书

根据我的研究,我发现我需要将参数“NODE_EXTRA_CA_CERTS”设置为带有证书的 .pem 文件的路径。仅当我在 cli 脚本中设置参数时,此解决方案才有效:

"scripts": {
    "test": "set NODE_EXTRA_CA_CERTS=./src/bin/HarelCerts.pem&&set NODE_ENV=test&&node node_modules/jest/bin/jest.js -i"
  }
Run Code Online (Sandbox Code Playgroud)

在我的package.json文件中,但是当我在.env文件中设置它时,它停止工作,我将参数打印到控制台以验证它是否已添加到我的 process.env 中,而且确实如此,所以我不知道是什么是问题所在。

由于我不喜欢脚本实现,是否有另一种更好的方法来做到这一点?