electron-packager不允许加载本地资源

时间:2016-09-26 10:41:16

标签: electron

直接使用电子运行我的应用

refreshLogin()

一切正常,但是当使用电子打包器包装应用程序并运行它时,我收到错误

electron .
代码中的

Not allowed to load local resource

任何帮助??

2 个答案:

答案 0 :(得分:0)

此请求中缺少很多详细信息。我总是使用path.resolve来访问您的本地文件而不是您正在使用的插值。例如,如果您使用正常选项设置电子,我会执行以下操作:

    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路径实际上并不是你文件所在的位置。如果您不将发行版复制到您认为正在复制它的位置(或复制失败),则会发生此错误。

答案 1 :(得分:0)

尝试更改BrowserWindow'选项:

 new BrowserWindow({
   webPreferences: {
   webSecurity: false
 }
})

添加

webPreferences: {
 webSecurity: false
}

它停止保护本地访问权限,您的文件可以访问 如果窗口的URL指向远程源,例如http:// ...,则浏览器将不允许加载本地资源,除非您设置上述选项。