在生产中预加载不正确 working/compiled (Electron-vue SimulatedGREG)

Preload not working/compiled correctly in production (Electron-vue SimulatedGREG)

我有一个 preload 脚本,它在开发中运行良好。我已经看到 here 我需要使用 static 文件或 webpack。我选择了 static 方法,因为我对 webpack 的知识是零。

目前,我正在使用一个 webview,这个 webview 有 preload 如下:

<webview :id="webview.key" :src="webview.url" :preload="preload_path" style="height: 100%" pcontextIsolation></webview>

preload_path如下:

preload_path: `file://${path.join(__static, '/serverBrowserIPC.js')}`,

我的项目结构是:

- dist
- - static 
    serverBrowserIPC.js 
    api.js
- src 
- - main 
- - renderer 

preload 文件是 serverBrowserIPC.jsserverBrowserIPC.js 需要 api.js

require("./api.js")

由于我不知道的已知原因,preload 无法正常工作并抛出以下错误:

F:\Web\my-project\build\win-unpacked\resources\app.asar\dist\electron\static\serverBrowserIPC.js

对我来说,这没有意义,因为我已经说过它在静态文件夹中,但是 electron-app 决定通过捆绑的 app.asar.

我希望有人能帮助我。

对我来说,问题似乎是您的项目结构有点错误。静态目录应该位于项目根目录中。当您构建用于生产的应用程序时,该目录将被复制到 app.asar 目录中。这就是它看那里的原因。但是,由于根目录中没有静态目录,因此不会复制任何内容。

要检查项目目录结构,请检查以下文档页面: https://webpack.electron.build/project-structure