自己项目中用的打包命令:yarn dist
重点说明:这样配置:win32位和win64位都可以满足,部分win32的需要手动改一下兼容模式,要用兼容模式运行。
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir",
"package": "electron-packager ./ myapp --out ./OutApp --overwrite",
"dist": "electron-builder --win --ia32"
},
electron是一种可以将网页打包成桌面程序的技术,可以根据配置的参数不同打包win,mac,linux三种平台的安装文件,具体的配置方式在项目的package.json文件中,下面是electron-vue项目package.json文件中的一段配置
"scripts": {
"build": "node .electron-vue/build.js && electron-builder --platform=win32 --arch=ia32",
"build:dir": "node .electron-vue/build.js && electron-builder --dir",
"build:clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js",
"build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js",
"dev": "node .electron-vue/dev-runner.js",
"pack": "npm run pack:main && npm run pack:renderer",
"pack:main": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js",
"pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js",
"postinstall": "install-app-deps"
}
其中--platform是配置打包成什么平台的安装文件,下面是可选的值
win系统: win或者win32,即--platform=win或者--platform=win32
mac系统:mac或者darwin,即--platform=mac或者--platform=darwin
Linux系统:linux, 即--platform=linux
所有平台:all, 即--platform=all
其中--arch是指定系统是什么架构的,常见的例如32位和64位操作系统,这个参数的可选值有
ia32, 即--arch=ia32, 32位操作系统,也可以在64位操作系统中安装
x64, 即--arch=x64, 64位操作系统,使用本架构打包无法再32位操作系统中安装
armv7l, 即--arch=armv7l, 使用比较少
arm64, 即--arch=arm64, 使用比较少
参数--platform和--arch已经被标志为过期,新的写法如下
electron-builder --win --x64
electron-builder --win --ia32
electron-builder --win --armv7l
如果--platform和--arch两个参数都没有指定,那么在打包的时候会参考当前操作系统的架构和平台进行打包,也就是说,以下命令如果在不同的操作系统上运行结果也是不一样的
electron-builder
补充:

image.png
"win": {
"icon": "icons/icon.ico",
"target": [
{
"target": "nsis",
"arch": [ // 这个意思是打出来32 bit + 64 bit的包。这样打包出来的安装包体积比较大,建议直接打32的安装包。
//"x64",
"ia32"
]
}
]
}
补充2:
module.exports = {
//判断开发模式还是生产模式
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
//插件配置
pluginOptions: {
//electronBuilder配置
electronBuilder: {
builderOptions: {
'productName': 'all electron',//生成exe的名字
"appId": "com.xi.www",//包名
"copyright": "xi",//版权信息
"directories": { // 输出文件夹
"output": "electron_output",
},
"nsis": {
"oneClick": false, // 是否一键安装
"allowElevation": true, // 允许请求提升。若为false,则用户必须使用提升的权限重新启动安装程序。
"allowToChangeInstallationDirectory": true, //是否允许修改安装目录
"installerIcon": "./build/icons/icon.ico",// 安装时图标
"uninstallerIcon": "./build/icons/icon.ico",//卸载时图标
"installerHeaderIcon": "./build/icons/icon.ico", // 安装时头部图标
"createDesktopShortcut": true, // 是否创建桌面图标
"createStartMenuShortcut": true,// 是否创建开始菜单图标
"shortcutName": "all-electron", // 快捷方式名称
"runAfterFinish": false,//是否安装完成后运行
},
"win": {
"icon": "build/icons/icon.ico",//图标路径
"target": [
{
"target": "nsis", //利用nsis制作安装程序
"arch": [
"x64", //64位
// "ia32" //32位
]
}
]
}
}
}
}
}