如何从 Electron-builder yaml 配置文件中的 .env 文件读取?

The*_*der 5 javascript environment-variables electron electron-builder

我是电子新手。我有一个用电子包裹的角度应用程序,我想使用electron-builder. 我正在使用electron-builder-config.yaml文件来构建安装程序。

\n

我想知道如何将.env环境文件中的值读取到electron-builder-config.yaml文件中?

\n

我想设置由 command 生成的包的版本electron-builder -w --publish always -c ./builder-config.yaml

\n

我确实尝试使用buildVersion属性,但问题是有一个installer.nsh文件需要作为 nsis 安装程序的一部分运行来设置路径,并且该文件使用${version}.

\n

Electron-builder-config.yaml 中有关环境变量使用的文档很少

\n

这是我的electron-builder-config.yaml

\n
directories:\n  output: ./dist/electron\n  buildResources: ./electron/build\n  app: \'\'\nelectronVersion: X.Y.Z\nappId:  com.sample.app\ncopyright: "Copyright \xc2\xa9 2020 ${author}"\nproductName: TestApp\nforceCodeSigning: true\nartifactName: "${productName}-${os}-${version}.${ext}"\nfiles:\n  - "**/dist/electron/*"\n  - "**/electron/*"\nasar: true\ncompression: maximum\nmac:\n  category: public.app-category.reference\n  icon: "./icon-file.icns"\n  publish: [{\n      "provider": "generic",\n      "url": "http://localhost:8080"\n  }]\ndmg:\n  background: "./build/sample.jpg"\n  icon: "./build/nw.icns"\n  iconSize: 96\n  contents:\n    - x: 650\n      y: 230\n      type: link\n      path: /Applications\n    - x: 350\n      y: 230\n      type: file\nwin:\n  cscLink: "./somelink.pfx"\n  cscKeyPassword: "XXXXXX"\n  target: [nsis]\n  icon: "./appinfo.ico"\n  publish: [{\n      "provider": "generic",\n      "url": "http://localhost:8080"\n  }]\nmsi:\n  shortcutName: "TestApp - ${version}"\n  createDesktopShortcut: true\n  createStartMenuShortcut: true\nnsis:\n  include: "./installer.nsh"\n  installerIcon: "./appinfo.ico"\n  uninstallerIcon: "./appinfo.ico"\n  packElevateHelper: true\n  allowToChangeInstallationDirectory: true\n  perMachine: true\n  oneClick: false\n  createDesktopShortcut: true\n  createStartMenuShortcut: true\n  shortcutName: "TestApp - ${version}"\n  guid: "someguid"\nnpmRebuild: true\nnodeGypRebuild: false\n
Run Code Online (Sandbox Code Playgroud)\n

另外,我不确定宏${ext}。该文件从哪里electron-builder-config.yaml获取该值?即使在file-macros 的文档中,版本也没有明确的定义。有什么建议 ?

\n

The*_*der 12

我明白了。如果其他人正在寻找这个问题的答案,这就是我的工作方式。

步骤 1:electron-builder.env在您所在的根级别按名称创建一个文件package.json。请确保将文件名保留为electron-builder.env

步骤 2:定义您想要在electron-builder.env文件中添加的变量,例如ELECTRON_BUILD_VERSION=99.99

第 3 步:builder-config.yaml文件中,使用以下语法访问环境变量{env.ELECTRON_BUILD_VERSION}

就这样吧。玩得开心。快乐编码