自己項目中用的打包命令:yarn dist
重點(diǎn)說明:這樣配置:win32位和win64位都可以滿足,部分win32的需要手動改一下兼容模式,要用兼容模式運(yùn)行。
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir",
"package": "electron-packager ./ myapp --out ./OutApp --overwrite",
"dist": "electron-builder --win --ia32"
},
electron是一種可以將網(wǎng)頁打包成桌面程序的技術(shù),可以根據(jù)配置的參數(shù)不同打包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系統(tǒng): win或者win32,即--platform=win或者--platform=win32
mac系統(tǒng):mac或者darwin,即--platform=mac或者--platform=darwin
Linux系統(tǒng):linux, 即--platform=linux
所有平臺:all, 即--platform=all
其中--arch是指定系統(tǒng)是什么架構(gòu)的,常見的例如32位和64位操作系統(tǒng),這個參數(shù)的可選值有
ia32, 即--arch=ia32, 32位操作系統(tǒng),也可以在64位操作系統(tǒng)中安裝
x64, 即--arch=x64, 64位操作系統(tǒng),使用本架構(gòu)打包無法再32位操作系統(tǒng)中安裝
armv7l, 即--arch=armv7l, 使用比較少
arm64, 即--arch=arm64, 使用比較少
參數(shù)--platform和--arch已經(jīng)被標(biāo)志為過期,新的寫法如下
electron-builder --win --x64
electron-builder --win --ia32
electron-builder --win --armv7l
如果--platform和--arch兩個參數(shù)都沒有指定,那么在打包的時候會參考當(dāng)前操作系統(tǒng)的架構(gòu)和平臺進(jìn)行打包,也就是說,以下命令如果在不同的操作系統(tǒng)上運(yùn)行結(jié)果也是不一樣的
electron-builder
補(bǔ)充:

"win": {
"icon": "icons/icon.ico",
"target": [
{
"target": "nsis",
"arch": [ // 這個意思是打出來32 bit + 64 bit的包。這樣打包出來的安裝包體積比較大,建議直接打32的安裝包。
//"x64",
"ia32"
]
}
]
}
補(bǔ)充2:
module.exports = {
//判斷開發(fā)模式還是生產(chǎn)模式
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
//插件配置
pluginOptions: {
//electronBuilder配置
electronBuilder: {
builderOptions: {
'productName': 'all electron',//生成exe的名字
"appId": "com.xi.www",//包名
"copyright": "xi",//版權(quán)信息
"directories": { // 輸出文件夾
"output": "electron_output",
},
"nsis": {
"oneClick": false, // 是否一鍵安裝
"allowElevation": true, // 允許請求提升。若為false,則用戶必須使用提升的權(quán)限重新啟動安裝程序。
"allowToChangeInstallationDirectory": true, //是否允許修改安裝目錄
"installerIcon": "./build/icons/icon.ico",// 安裝時圖標(biāo)
"uninstallerIcon": "./build/icons/icon.ico",//卸載時圖標(biāo)
"installerHeaderIcon": "./build/icons/icon.ico", // 安裝時頭部圖標(biāo)
"createDesktopShortcut": true, // 是否創(chuàng)建桌面圖標(biāo)
"createStartMenuShortcut": true,// 是否創(chuàng)建開始菜單圖標(biāo)
"shortcutName": "all-electron", // 快捷方式名稱
"runAfterFinish": false,//是否安裝完成后運(yùn)行
},
"win": {
"icon": "build/icons/icon.ico",//圖標(biāo)路徑
"target": [
{
"target": "nsis", //利用nsis制作安裝程序
"arch": [
"x64", //64位
// "ia32" //32位
]
}
]
}
}
}
}
}