- 在你的 Electron 项目目录下,安装 electron-builder:
npm install electron-builder --save-dev
- 在 文件中添加以下配置:
{
"name": "your-app-name",
"version": "0.0.1",
"scripts": {
"start": "electron .",
"dist": "electron-builder",
"pack": "electron-builder --dir",
"postinstall": "electron-builder install-app-deps"
},
"dependencies": {
"electron": "^9.0.0"
},
"devDependencies": {
"electron-builder": "^22.9.1"
},
"build": {
"appId": "",
"productName": "Your App Name",
"directories": {
"output": "release"
},
"mac": {
"category": ""
},
"win": {
"target": "nsis",
"icon": "build/"
},
"nsis": {
"oneClick": false,
"perMachine": true,
"allowElevation": true,
"allowToChangeInstallationDirectory": true,
"installerIcon": "build/",
"uninstallerIcon": "build/",
"installerHeaderIcon": "build/",
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "Your App Name"
}
}
}
在上面的例子中,我们添加了一个名为 dist 的 script,它的值是 electron-builder。这将使用 electron-builder 打包我们的应用程序。执行 npm run dist 命令时,它会自动读取 文件中的 build 配置,并根据其进行打包。
另外,我们还添加了其他几个 script,如下所示:
- start:用于启动应用程序的脚本,它会在当前目录下执行 electron . 命令。
- pack:用于打包应用程序的脚本,它会在当前目录下生成应用程序的二进制文件,但不会生成安装程序。
- postinstall:用于在安装应用程序依赖时执行 electron-builder install-app-deps 命令,以确保安装的依赖包含必要的二进制文件。
- 其中,appId 是你的应用程序的唯一标识符,productName 是在安装时显示的应用程序名称, 指定输出目录, 是在 macOS 中显示的应用程序类别, 是在 Windows 上打包的安装程序类型,icon 是应用程序图标文件的路径,nsis 是 NSIS 安装程序生成器的配置参数,这里我配置了一些常用的参数,你可以根据需求进行修改。
- 在你的项目目录下,创建 build 目录,并在其中添加一个 文件,用于 Windows 安装程序的图标。
npm run dist 包这个错误 proxyconnect tcp: dial tcp :0: connectex: The requested address is not valid in its context
如果你在执行 npm run dist
命令时遇到了这个错误,那么可能是你的网络代理设置有问题导致的。
这个错误的意思是,npm 无法通过代理连接到指定的 IP 地址和端口。在这种情况下,你可以尝试以下几个解决方案:
- 检查你的代理设置
首先,请确保你的网络代理设置是正确的。你可以尝试在浏览器中打开一个网页来测试你的代理是否正常工作。如果你无法连接到任何网站,那么你的代理设置可能有问题,需要进行调整。
- 暂时关闭代理
如果你的代理设置正确,但仍然无法连接到指定的 IP 地址和端口,那么你可以尝试暂时关闭代理。你可以通过以下命令来关闭代理:
npm config rm proxy
npm config rm https-proxy
这将从你的 npm 配置中删除代理设置,使 npm 直接连接到互联网。
- 使用其他网络