微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以将电子 package.json 中的环境变量用于 osx 公证凭证吗?

如何解决我可以将电子 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 举报,一经查实,本站将立刻删除。