Синхронизировать изменения кода в электронном приложении при разработке

Существуют ли какие-либо инструменты для перезарядки электронного приложения в реальном времени при изменении кода, аналогичного синхронизации браузера для веб-сайтов?

Всякий раз, когда мы меняем код для электронного приложения, я прекращаю существующий работающий процесс и перезапускаюсь с электронным. Являются ли они инструментами для автоматической перезагрузки электронного приложения при изменении кода.

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 или что-то в этом роде. ]

Другие вопросы по тегам