我刚接触electron。我有一个用electron Package 的角形应用程序,我想用electron-builder
构建包/安装程序。我正在使用electron-builder-config.yaml
文件构建安装程序。
我想知道如何从.env
环境文件读取值到electron-builder-config.yaml
文件?
我想设置由electron-builder -w --publish always -c ./builder-config.yaml
命令生成的包的版本。
我确实尝试使用buildVersion
属性,但问题是有一个installer.nsh
文件需要作为nsis安装程序的一部分运行以设置路径,该文件使用${version}
。
在electron-builder-config.yaml中,关于环境变量使用的文档非常少
我的electron-builder-config.yaml
directories:
output: ./dist/electron
buildResources: ./electron/build
app: ''
electronVersion: X.Y.Z
appId: com.sample.app
copyright: "Copyright © 2020 ${author}"
productName: TestApp
forceCodeSigning: true
artifactName: "${productName}-${os}-${version}.${ext}"
files:
- "**/dist/electron/*"
- "**/electron/*"
asar: true
compression: maximum
mac:
category: public.app-category.reference
icon: "./icon-file.icns"
publish: [{
"provider": "generic",
"url": "http://localhost:8080"
}]
dmg:
background: "./build/sample.jpg"
icon: "./build/nw.icns"
iconSize: 96
contents:
- x: 650
y: 230
type: link
path: /Applications
- x: 350
y: 230
type: file
win:
cscLink: "./somelink.pfx"
cscKeyPassword: "XXXXXX"
target: [nsis]
icon: "./appinfo.ico"
publish: [{
"provider": "generic",
"url": "http://localhost:8080"
}]
msi:
shortcutName: "TestApp - ${version}"
createDesktopShortcut: true
createStartMenuShortcut: true
nsis:
include: "./installer.nsh"
installerIcon: "./appinfo.ico"
uninstallerIcon: "./appinfo.ico"
packElevateHelper: true
allowToChangeInstallationDirectory: true
perMachine: true
oneClick: false
createDesktopShortcut: true
createStartMenuShortcut: true
shortcutName: "TestApp - ${version}"
guid: "someguid"
npmRebuild: true
nodeGypRebuild: false
此外,我不确定宏${ext}
。这个electron-builder-config.yaml
文件是从哪里获取这个值的?即使在文件宏的文档中,版本也没有明确的定义。有什么建议吗?
2条答案
按热度按时间2izufjch1#
我把它弄明白了。万一别人在寻找这个问题的答案,下面是我是如何让它工作的。
第一步:在您的
package.json
所在的根级别创建一个名为electron-builder.env
的文件,请确保文件名为electron-builder.env
**第二步:**在
electron-builder.env
文件中定义你想要的变量,例如 ELECTRON_BUILD_VERSION=99.99**第三步:在
builder-config.yaml
文件中,使用语法{env.ELECTRON_BUILD_VERSION}
**访问环境变量给你,玩得开心,编码快乐😊
sz81bmfz2#
对于那些想直接读取env文件的人,使用dotenv包: