Сборка электронного приложения и застрял с ошибкой. Я не понимаю, почему мой preload.js не находит ни модули «dnode», ни «path», но он находит модуль «url».
preload.js:
const { ipcRenderer } = require('electron');
const url = require('url');
const dnode = require('dnode'); // It breaks here with 'Error: module not found: dnode'
process.once('loaded', () => {
window.addEventListener('message', event => {
const message = event.data;
if (message.myTypeField === 'handler') {
// TO-DO
}
});
});
main.js
const url = require('url');
const path = require('path');
const {app, ipcMain, BrowserWindow} = require('electron');
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({
backgroundColor: '#fff',
webPreferences: {
preload: path.join(__dirname, './preload.js'),
nodeIntegration: false,
enableRemoteModule: false,
contextIsolation: true,
sandbox: true
}
});
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol:'file:',
slashes: true
}));
});
Мой main.js находит модули 'path' и 'dnode', хотя я пытался изменить preload.js в корневой каталог проекта рядом сПапка node_modules, и она не работает.