我正在以编程方式使用电子生成器来生成安装包。到目前为止,我将此作为我的实用程序来为当前操作系统类型创建安装包:
const packagejson = require("../package.json");
const builder = require("electron-builder");
const Platform = builder.Platform;
function buildPromise(){
//Development package.json
const devMetadata = packagejson.electronBuilder;
//Application package.json
const appMetadata = {
name: packagejson.name,
version: packagejson.version,
description: packagejson.description,
author: packagejson.author,
productName: packagejson.productName
};
//Build for the current target and send back promise
return builder.build({
projectDir: "./",
devMetadata,
appMetadata
});
}
module.exports = {
buildPromise,
outputPath : packagejson.electronBuilder.directories.output
};
package.json
它所做的是从包含此部分的应用程序 MAIN 文件中提取所需的元数据(因此应用程序package.json
为空):
...
"electronBuilder": {
"build": {
"productName": "Node App",
"appId": "my.id",
"asar": false,
"win": {
"iconUrl": "http://localhost:5000/images/logo-multi.ico",
"target": "nsis"
},
"nsis" :{
"oneClick": false
}
},
"directories": {
"output": "electron/output",
"app":"electron/app",
"buildResources": "electron/buildResources"
}
}
...
当我在 Windows 中运行构建时,我得到一个名为Node App Setup 1.0.0.exe
. 到此为止吧。但是我如何实际控制最终文件名?或者至少以编程方式检索该文件名,以便我可以将其读入并以某种方式响应客户端?显然,我可以将它从 json 文件设置中拼凑起来,但我希望它更明确。