Электрон: Как запустить в комплекте файл? - PullRequest
0 голосов
/ 20 сентября 2019

TL; DR: У меня есть связанный JS-файл bundle.js, созданный с помощью Browserify.Я хочу загрузить этот файл и прикрепить содержимое к BrowserView в Electron, используя executeJavaScript.Как я могу это сделать?

Пакет, который мне нужно включить, - это Web3.js.Я связал Web3 с Browserify, выполнив:

browserify packages/web3/src/index.js -o web3-bundle.js

Вот два наиболее перспективных подхода для включения пакета в BrowserView, которые, к сожалению, не сработали.

  1. Использование require.

Я пытался использовать require для импорта файла.

const Web3 = require('web3-bundle.js');

view.webContents.executeJavaScript(`
  ${Web3};
  console.log(Web3);
`);
Использование fs:
fs.readFile(path.resolve(__dirname, 'web3-bundle.js'), 'utf8', function (err, data) {
  if (err) {
    console.error(err);
    return;
  }
  console.log('data', data)
view.webContents.executeJavaScript(`
  ${data};
  console.log(Web3);
`)
});

Как вы можете прикрепить связанный файл в BrowserView в Electron?

1 Ответ

0 голосов
/ 20 сентября 2019

Вы можете предварительно загрузить скрипт в BrowserView

const view = new BrowserView( { webPreferences: { preload : 'absloute/path/to/web3-bundle.js' } } )
...