Синхронизировать изменения кода в электронном приложении при разработке
Существуют ли какие-либо инструменты для перезарядки электронного приложения в реальном времени при изменении кода, аналогичного синхронизации браузера для веб-сайтов?
Всякий раз, когда мы меняем код для электронного приложения, я прекращаю существующий работающий процесс и перезапускаюсь с электронным. Являются ли они инструментами для автоматической перезагрузки электронного приложения при изменении кода.
4 ответа
Лучший инструмент (и самый простой), который я нашел, это электронная перезагрузка:
// main.js
const electron = require('electron');
const { app, BrowserWindow } = electron;
const path = require('path');
// the first argument can be: a file, directory or glob pattern
require('electron-reload')(__dirname + '/app/index.html', {
electron: path.join(__dirname, 'node_modules', '.bin', 'electron')
});
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({
// ...
});
mainWindow.setMenu(null);
mainWindow.loadURL(`file://${__dirname}/app/index.html`);
process.env.NODE_ENV !== 'production' && mainWindow.openDevTools();
});
В этом случае вам следует взглянуть на инструменты разработки для управления процессами NodeJS. Мой личный фаворит - это nodemon, потому что вы можете использовать конфигурационный файл или передать что-то вроде этого:
nodemon --watch * --exec "electron ."
И это будет работать просто отлично. Но опять же, это мое мнение, выбери подходящее для тебя из списка.
Если вы напрямую используете команду « электрон »,
"nodemon": "nodemon --exec electron ."
то он выдаст вам ошибку
'electron' is not recognized as an internal or external command,
operable program or batch file.
Так что используйте его косвенно ,
"start": "electron .",
"start:nodemon": "nodemon --watch main.js --exec npm start",
и перезапустите приложение с помощью
npm run start:nodemon
Немного запоздалый ответ, но я надеюсь, что он всем поможет.
Существуетnpm
модуль под названием Electromon.
npm i -g electromon [install]
Использование будет электронным.\ Main.js [измените имя main.js на свои файлы, такие как app.js или что-то в этом роде. ]