在生产中预加载不正确 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.js
,serverBrowserIPC.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
我有一个 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.js
,serverBrowserIPC.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