繁体   English   中英

使用 create-react-app base 时,只支持 Electron webview 预加载 file:// 协议

[英]Electron webview preload only file:// protocol is supported when using create-react-app base

电子V3.0.5

您好,我有一个使用 Electron 和 create-react-app 的项目,但我无法让我的项目找到预加载脚本。

这是 webview 标签:

<webview preload={`./Injects/preload.js`} />

当我使用如图所示的标签时,控制台告诉我必须使用file:协议。 所以我试着去:

<webview preload={`file://${__dirname}/Injects/preload.js`} />

但当然,这让我进入了 .asar 打包文件的路径,其中没有 Injects/preload.js。

我还尝试将我的注入脚本放在我的公共文件夹中并使用

<webview preload={`${process.env.PUBLIC_URL}/Injects/preload.js`} />

<webview preload={`file://${process.env.PUBLIC_URL}/Injects/preload.js`} />

但是我只是遇到了同样的错误,无论如何 process.env.PUBLIC_URL 都返回了 ""。

任何帮助将不胜感激,我无法在任何地方找到这个问题的答案。

let path = `file:${require('path').resolve(__static, './preload.js')}`

我将preload.js放在我的电子项目的static文件夹中,它对我有用

为了解决这个问题,我创建了一个基于 __dirname 的 __static 变量,它根据生产或开发版本改变了位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM