Я только начинаю с Electron и немного запутался в том, как структурировать проект.
С базовыми c веб-страницами вы бы просто использовали HTML страницы, содержащие ссылки на ваши JS и CSS
С приложениями MERN у вас будет ваш внешний интерфейс, отделенный от ваших маршрутов, а затем ваш бэкэнд отдельно от него, используя функцию 'require', чтобы собрать все вместе.
Я создал простое приложение для практики, которое создает список дел. На данный момент в нем есть следующие файлы:
package. json main. js mainWindow. html addWindow. html
Теперь я начал добавлять подключения к базу данных я не уверен, куда ее положить. На данный момент, когда элемент добавляется из addWindow. html, и IP C Renderer отправляет параметры в main. js, я добавил код в функцию, чтобы также вызвать функцию вставки базы данных:
ipcMain.on('item:add', function(e, inputItems){
console.log("shop item" + inputItems)
dbInsert(inputItems)
mainWindow.webContents.send('item:add', inputItems)
})
Затем моя функция dbInsert () находится в main. js также
function dbInsert(inputItem){
let db = new sqlite3.Database('sldb.db', (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the sqlite database.');
});
db.run(`INSERT INTO items (itemName, itemCat) VALUES(?, ?)`, inputItem.shopItem, inputItem.shopItemCat), function(err) {
if (err) {
return console.log(err.message);
}
};
}
В конце концов, хотя мой main. js будет огромным беспорядком. Как правильно структурировать вещи в Electron? Как мне разделить эти разные функции и как связать их вместе? Могу ли я просто «включить» JS файлы в файл main. js или есть ли способ «требовать» для выполнения действий?