alex8088 / electron-vite

Next generation Electron build tooling based on Vite 新一代 Electron 开发构建工具,支持源代码保护
https://electron-vite.org
MIT License
3.57k stars 153 forks source link

Unable to load preload script #559

Closed flyweights closed 2 months ago

flyweights commented 4 months ago

Describe the bug

Unable to load preload script: ... Contents/Resources/app.asar/out/preload/index.js

preload/index.js

import { contextBridge } from 'electron'
import { electronAPI } from '@electron-toolkit/preload'

import { SerialPort } from 'serialport'

// Custom APIs for renderer
const api = {
  list: () => {
    return new Promise((resolve) => {
      const ports = SerialPort.list()
      resolve(ports)
    })
  }
}

就是使用 serialport 这个库,开发环境没有问题,在 Mac/M1 打包就不行了。

Electron-Vite Version

2.3.0

Electron Version

31.0.2

Vite Version

5.3.1

Validations

alex8088 commented 4 months ago

将依赖安装在dep,相关查阅文档。此外不建议在preload中使用,推荐在主进程中使用

flyweights commented 4 months ago

将依赖安装在dep,相关查阅文档。此外不建议在preload中使用,推荐在主进程中使用

依赖 已经安装在 dependencies 了

  "dependencies": {
    "@electron-toolkit/preload": "^3.0.1",
    "@electron-toolkit/utils": "^3.0.0",
    "electron-updater": "^6.1.7",
    "serialport": "^10.5.0"
  },

我去试一下,主进程 会不会?

flyweights commented 4 months ago

npm run start preview 状态下也是没有问题的,就是build 之后就有问题了,奇怪?!

alex8088 commented 4 months ago

https://cn.electron-vite.org/guide/troubleshooting#%E6%8A%80%E5%B7%A7

通常 preview 命令运行正常,而打包后不正常,大概率是依赖模块未被打包进应用程序,请检查依赖模块是否安装在 dependencies中,也可能是 pnpm 问题(如果使用了的话)。

flyweights commented 4 months ago

https://cn.electron-vite.org/guide/troubleshooting#%E6%8A%80%E5%B7%A7

通常 preview 命令运行正常,而打包后不正常,大概率是依赖模块未被打包进应用程序,请检查依赖模块是否安装在 dependencies中,也可能是 pnpm 问题(如果使用了的话)。

是没有使用的 pnpm


试了好多方法,都不行。 直接用把代码拿到 win11 上,打包是可以的。 就是 Mac/M1 ,打包不行。醉了 明天在试下换一台 Mac/M1

flyweights commented 4 months ago

后面换了一台M1电脑,就可以了,奇怪!