【发布时间】:2019-04-26 11:14:38
【问题描述】:
我正在为我的应用程序使用 Angular 和 Electron。
我正在寻找一种启用热重载的方法...
当我运行我的yarn run electron(脚本:"electron": "ng build --base-href ./ && electron .")时,如果我保存更改,我的应用程序不会重新加载。
这是我的 main.js 文件:
const { app, BrowserWindow } = require("electron");
const path = require("path");
const url = require("url");
let win;
function createWindow() {
win = new BrowserWindow({ width: 800, height: 600 });
// load the dist folder from Angular
win.loadURL(
url.format({
pathname: path.join(__dirname, `/dist/index.html`),
protocol: "file:",
slashes: true
})
);
// The following is optional and will open the DevTools:
// win.webContents.openDevTools()
win.on("closed", () => {
win = null;
});
}
app.on("ready", createWindow);
// on macOS, closing the window doesn't quit the app
app.on("window-all-closed", () => {
if (process.platform !== "darwin") {
app.quit();
}
});
// initialize the app's main window
app.on("activate", () => {
if (win === null) {
createWindow();
}
});
我尝试在 main.js 文件中包含require('electron-reload')(__dirname);,但没有任何改变
【问题讨论】:
-
“更改保存” 你是说“保存更改”吗?
-
另外,您是要进行硬重置(重启 electron main.js 进程)还是软重置(重启 BrowserWindow 渲染器进程)
-
是的对不起我编辑了。我真的不知道,我是电子新手,我正在尝试像 Angular 一样热重载。我猜这是软重置,不是吗?
-
那么您是否希望对 main.js 文件的更改会导致重新加载?如果你是那将需要硬重置。如果您不担心 main.js 文件的更改(即,您可以通过杀死它然后重新启动来手动重新启动应用程序),那么您可以使用软重置
-
我会写一个例子。