所以,我在package.json中有这个:
{
"name" : "webgl-demo",
"version" : "1.1.0",
"main" : "main.js",
"scripts" : {
"build": "electron-packager . webgl --platform=win32 --arch=x64 --version=0.33.3 --overwrite"
}
}
从命令行我用这个构建可执行文件:
npm run build
我使用了electron-sample-apps \ webgl项目作为豚鼠。我在electron-sample-apps \ webgl \ webgl-win32-x64文件夹中找到了一个webgl.exe。但是当我运行它时,我得到一个弹出窗口说"主进程中发生了一个javascript错误"。它在弹出文本中稍微向下说:"语法错误:意外的令牌{"。我不知道那是什么试图告诉我的?有没有人得到这个工作?
顺便说一句,我使用的是npm版本2.15.8,电子版4.4.3并在Windows 10机器上运行。
这很酷,它不仅不起作用,当我运行它创建的可执行文件不是一个,而是两个electron.exe进程,并且在处理错误弹出后它们不会消失。因此,我必须先打开taskmgr.exe并杀死electron.exe进程,然后再尝试再次构建。
有没有人用这个东西成功为Windows做过自定义.exe?
答案 0 :(得分:2)
我建议您使用electron-packager
的API构建软件包,它比命令行更容易。
这是我的脚本,您可以使用node file-name.js
'use strict';
var packager = require('electron-packager');
var options = {
'arch': 'ia32',
'platform': 'win32',
'dir': './',
'app-copyright': 'Paulo Galdo',
'app-version': '2.1.6',
'asar': true,
'icon': './app.ico',
'name': 'TierraDesktop',
'out': './releases',
'overwrite': true,
'prune': true,
'version': '1.3.4',
'version-string': {
'CompanyName': 'Paulo Galdo',
'FileDescription': 'Tierra de colores', /*This is what display windows on task manager, shortcut and process*/
'OriginalFilename': 'TierraDesktop',
'ProductName': 'Tierra de colores',
'InternalName': 'TierraDesktop'
}
};
packager(options, function done_callback(err, appPaths) {
console.log("Error: ", err);
console.log("appPaths: ", appPaths);
});
在此处查看electron-packager API
link
答案 1 :(得分:2)
我使用了电子打包器来构建win32-x64 exe应用程序。在创建构建之后,我将该文件夹复制到另一台Windows 10计算机以查看它是否具有任何依赖项(需要)。
令我惊讶(和荣耀),它的工作非常完美。运行应用程序所需的一切(所有依赖项)都包含在构建本身中。
您可以进一步使用inno setup创建setup.exe文件(打包)