预加载在生产中无法正常工作/编译Electron-vue SimulatedGREG

问题描述

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

当前,我正在使用一个Web视图,该Web视图具有如下的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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...