不允许electron packager加载本地资源

不允许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 .
一切正常,但当使用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:)