技术架构:electron + vue + elementPlus + better-sqlite3 + typeorm

脚手架:electron-vite

架构不多介绍,自行查看对应官网即可,本文章主要介绍如何兼容win7 以及 32位客户端与64位客户端的打包。

问题描述:

  1.  electron打包成32位客户端后,better-sqlite3初始化报错。
  2. electron 打包后win7下无法运行。

首先:关于electron打包后win7下无法运行的问题,electron自23版本后不再支持win7/8/8.1,降低electron版本至22及以下即可。

第二:使用better-sqlite3如何兼容32位和64位的问题,问题的根源在于better-sqlite3有32位和64位之分,互相不兼容,所以在electron打包前,要对better-sqlte3进行rebuild,下面贴打包命令:

    "build:win32": "npm run rebuild:ia32 && npm run build && electron-builder --win --config --ia32",
    "build:win": "npm run rebuild && npm run build && electron-builder --win --config",
    "build:mac": "npm run build && electron-builder --mac --config",
    "build:linux": "npm run build && electron-builder --linux --config",
    "rebuild:ia32": "electron-rebuild -f -w better-sqlite3 --arch=ia32",
    "rebuild": "electron-rebuild -f -w better-sqlite3"

要点就在于,在打包对应的版本前对better-sqlite3重新打包,并指定对应的版本。

注意将electron打包配置中的arch取消指定,使用命令行中指定的方式进行打包。

参考demo

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐