Электронный веб-просмотр только для предварительной загрузки file: // протокол поддерживается при использовании базы create-реагировать на приложение - PullRequest
0 голосов
/ 27 декабря 2018

Electron V3.0.5

Здравствуйте, у меня есть проект, использующий Electron и приложение create-реагировать, и я не могу заставить свой проект найти сценарий предварительной загрузки.

Вот веб-представлениеtag:

<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 все равно возвращает "" в любом случае.

Любая помощь будет принята с благодарностью, я нигде не смог найти ответ на эту проблему.

Ответы [ 2 ]

0 голосов
/ 16 июля 2019
let path = `file:${require('path').resolve(__static, './preload.js')}`

Я помещаю preload.js в папку static в моем электронном проекте, и это сработало для меня

0 голосов
/ 08 января 2019

Чтобы решить эту проблему, я создал переменную __static, основанную на имени __dirname, которое меняло местоположение в зависимости от сборок производства или разработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...