不允许electron packager加载本地资源
直接使用electron运行我的应用程序时不允许electron packager加载本地资源,electron,Electron,直接使用electron运行我的应用程序时 electron . 一切正常,但当使用electron packager打包应用程序并运行它时,我发现了错误 Not allowed to load local resource 在代码中 mainWindow.loadURL(`${__dirname}/../build/index.html`) 任何帮助???此请求中缺少很多详细信息。我总是使用path.resolve访问本地文件,而不是使用插值。例如,如果您使用正常选项设置electron
electron .
一切正常,但当使用electron packager打包应用程序并运行它时,我发现了错误
Not allowed to load local resource
在代码中
mainWindow.loadURL(`${__dirname}/../build/index.html`)
任何帮助???此请求中缺少很多详细信息。我总是使用
path.resolve
访问本地文件,而不是使用插值。例如,如果您使用正常选项设置electron,我会执行以下操作:
var path = require('path');
var iconPath = path.resolve(__dirname, '../build/program.ico');
const appIcon = new Tray(iconPath);
mainWindow = new Window({
width: 1280,
height: 1024,
autoHideMenuBar: false,
useContentSize: true,
resizable: true,
icon: iconPath });
var indexPath = path.resolve(__dirname, '../build/index.html');
mainWindow.loadURL(indexPath);
也就是说,我猜您的
。/build/index.html
路径实际上不是文件所在的位置。如果未将分发版复制到您认为要复制的位置(或复制失败),则会发生此错误。请尝试更改BrowserWindow的选项:
new BrowserWindow({
webPreferences: {
webSecurity: false
}
})
加入
webPreferences: {
webSecurity: false
}
它会停止保护本地访问,您的文件将变得可访问
如果窗口的url指向远程源,如http://...,浏览器将不允许加载本地资源,除非您设置了上述选项。我遇到了同样的问题,这为我解决了问题。太棒了,很酷看到它安装和运行完美!!谢谢!!:-Dhappy帮助mate:)