在MacOs上Electron BrowserWindow.LoadURL不工作
我是电子新手。 我使用Vue CLI插件Electron Builder创建基本项目。 在windowbrowserwindow.LoadURL中,它可以工作。 但在macos BrowserWindow.LoadURL上不工作。 macos版本10.10.5, 电子版11.4.7在MacOs上Electron BrowserWindow.LoadURL不工作,electron,Electron,我是电子新手。 我使用Vue CLI插件Electron Builder创建基本项目。 在windowbrowserwindow.LoadURL中,它可以工作。 但在macos BrowserWindow.LoadURL上不工作。 macos版本10.10.5, 电子版11.4.7 try { //it not working on macos await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL
try {
//it not working on macos
await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL)
} catch (err) {
//can't catch any err on macos
console.log(`loadURL err, url: ${process.env.WEBPACK_DEV_SERVER_URL}, info: ${err}`)
}
我找了很多答案,但没有找到任何答案。
有什么建议可以解决这个问题吗?任何帮助都将不胜感激
在loadURL函数下面
if (process.env.WEBPACK_DEV_SERVER_URL) {
// Load the url of the dev server if in development mode
await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL)
if (!process.env.IS_TEST) win.webContents.openDevTools()
} else {
createProtocol('app')
// Load the index.html when not in development
win.loadURL('app://./index.html')
}
尝试添加此代码块以检查页面内容是否已准备就绪或是否已完成加载。如果是,则显示窗口并聚焦于它
win.webContents.on('did-finish-load', () => {
if (!win) {
throw new Error('`win` is not defined');
}
if (process.env.START_MINIMIZED) {
win.minimize();
} else {
win.show();
win.focus();
}
});
你看到错误了吗?您是否初始化了新的浏览器窗口并将其绑定到
win
?文档中可以找到一个简单的示例。我没有看到任何错误,但是,它使用Vue CLI插件Electron Builder来创建一个基本项目,它还初始化一个新的BrowserWindow并将其绑定到Win。为什么要将它放在try/catch块中?尝试使用实例事件,而不是异步等待loadURL。process.env.WEBPACK\u DEV\u SERVER\u URL的值是多少?确保它是一个可公开访问的有效URL。我确信process.env.WEBPACK_DEV_SERVER_URL的值是一个有效URL(localhost:8098),将URL复制到Safari,不会发生任何情况。在运行应用程序之前,如何指定WEBPACK_DEV_SERVER_URL,或者启动应用程序时使用的实际命令是什么?env可能是空的,因此它默认为index.html。这与WEBPACK_DEV_SERVER_URL无关,即使我加载了一个web URL,例如,它不工作。您可以从Image link()获取它,这可能是问题所在。可能没有实际添加环境变量。尝试将console.log转到if块。在加载URL之前打印,有问题吗?