Electron требует x.worker.js для сценария index.html - PullRequest
0 голосов
/ 17 октября 2019

Новичок в Electron и JS,

В настоящее время у меня есть Electron, запускающий окно, и я редактирую index.html, чтобы попытаться поместить свой JS-код в окно.

Я пытался использовать скрипт для запуска моего локального файла: parse.js (который прекрасно работает с использованием узла parse.js), но Electron требует parse.worker.js. С тех пор я изучал работников, но не могу понять, что должен делать мой работник, а что parse.js должен делать.

parse.js:

const pdf = require('pdf-parse')
const fs = require('fs')

function parse(){
    let dataBuffer = fs.readFileSync('./test_data.pdf')

    pdf(dataBuffer).then(function(data){
        console.log(data.text); 

    });
}

index.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Test</title>
  </head>
  <body>
    <h1>Test</h1>
    <p>
    <script type="text/javascript" src = "parse.js"></script></p>
  </body>
</html>

parse.worker.js:

const pdf = require('pdf-parse')
const fs = require('fs')


var worker = new Worker('parse.js')

//???

test_data.pdfсидит в том же каталоге

До того, как я добавил parse.worker.js, он работал, но не получится: ERR_FILE_NOT_FOUND parse.worker.js: 1

После добавления файла все было в порядке,но я все еще ничего не могу сделать, и все, что я пробовал, привело к ошибкам.

Любая помощь приветствуется, спасибо!

РЕДАКТИРОВАТЬ:

Только что нашел что-то, что помогло работать в моей главной, я не связывал:

function createWindow () {
  // Create the browser window.
  win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
    }
  })

Добавление nodeIntegrationInWorker: true исправило это и позволило мне отобразить мой файл console.log.

Любая причина, почему это так?

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