Электрон JS: Как сразу показать изменения в коде? - PullRequest
1 голос
/ 16 июня 2020

Я использую Electron JS для создания настольного приложения.

Однако я хотел бы автоматически обновить изменения в коде и сразу увидеть результат.

Например, если я создаю WebServer с express на localhost , всегда, когда я обновляю браузер, я получаю изменения.

В расширении Go Live на VSCode это происходит автоматически после CRTL + Save

Существует ли подобная функциональность для электронов?

Моя текущая альтернатива - закрыть все электронное приложение и запустить его с npm start снова ...

Спасибо.

Ответы [ 2 ]

1 голос
/ 16 июня 2020

использовать электронная горячая перезагрузка пакет получить горячую перезагрузку

import { mainReloader, rendererReloader } from 'electron-hot-reload';
import { app } from 'electron';
import path from 'path';

const mainFile = path.join(app.getAppPath(), 'dist', 'main.js');
const rendererFile = path.join(app.getAppPath(), 'dist', 'renderer.js');

mainReloader(mainFile, undefined, (error, path) => {
  console.log("It is a main's process hook!");
});

rendererReloader(rendererFile, undefined, (error, path) => {
  console.log("It is a renderer's process hook!");
});

Пример проекта с конфигурацией

https://github.com/valentineus/electron-hot-reload/tree/6feca4b65b78c674aea096906ecd7b46abebc36a/example/application/src

0 голосов
/ 16 июня 2020

Нашел сам. Как упоминалось в @ShioT, это называется горячая перезагрузка / живая перезагрузка .

электронная перезагрузка | npm пакет

https://www.npmjs.com/package/electron-reload

Внешний интерфейс

require('electron-reload')(__dirname);

Backend (аппаратный сброс) const path = require ('path')

require('electron-reload')(__dirname, {
   // note that this path can vary
  electron: path.join(__dirname, 'node_modules', '.bin', 'electron')
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...