如何解决我可以将电子 package.json 中的环境变量用于 osx 公证凭证吗?
已成功为 osx 公证了我的电子应用程序,但现在的问题是 Apple ID 和应用程序特定密码在 package.json 中。我当然不想在那里对它们进行硬编码以进行分发,但是我可以使用 .env 文件中的环境变量来替换它们,或者我如何将它们保密到 package.json 文件中?
我研究了 dotenv 和 cross-env,但我没有看到如何在 package.json 文件中使用 env 变量。
应用程序是使用电子伪造构建的。
我使用的结构(取自电子锻造文档):
{
"name": "my-app","version": "0.0.1","config": {
"forge": {
"packagerConfig": {
"osxSign": {
"identity": "Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)","hardened-runtime": true,"entitlements": "entitlements.plist","entitlements-inherit": "entitlements.plist","signature-flags": "library"
},"osxNotarize": {
"appleId": "Felix@Felix.fun","appleIdPassword": "my-apple-id-password",}
}
}
}
}
提前致谢。
解决方法
重复您自己的帖子:Where can I find electron forge config js file where package.json is parsed?
您应该在单独的 JS 文件中提取电子伪造配置:ElectronForge 配置并使用 process.env.YOUR_VARIABLE_NAME
加载您的环境变量
package.json
{
"name": "app","description": "app","productName": "app","version": "0.0.0","private": true,"scripts": {
},"config": {
"forge": "./forge.config.js"
},...
}
forge.config.js
module.exports = {
"packagerConfig": {
"osxSign": {
"identity": "Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)","hardened-runtime": true,"entitlements": "entitlements.plist","entitlements-inherit": "entitlements.plist","signature-flags": "library"
},"osxNotarize": {
"appleId": process.env.NOTORIZE_APPLE_ID,"appleIdPassword": process.env.NOTORIZE_APPLE_ID,}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。