electron 打包支持32位

自己项目中用的打包命令: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位
              ]
            }
          ]
        }
      }
    }
  }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容