【问题标题】:electron-packager Not allowed to load local resourceelectron-packager 不允许加载本地资源
【发布时间】:2018-03-18 08:00:53
【问题描述】:

直接使用电子运行我的应用程序时

electron .

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

Not allowed to load local resource

在代码中

mainWindow.loadURL(`${__dirname}/../build/index.html`)

有什么帮助吗??

【问题讨论】:

    标签: electron


    【解决方案1】:

    尝试更改 BrowserWindow' 选项:

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

    通过添加

    webPreferences: {
     webSecurity: false
    }
    

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

    【讨论】:

    • 我遇到了同样的问题,这为我解决了。太棒了,看到它完美安装和运行真是太酷了!!谢谢!! :-D
    • 很高兴帮助队友:)
    【解决方案2】:

    此请求缺少很多细节。我总是使用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 路径实际上不是您的文件所在的位置。当您没有将分发复制到您认为正在复制的位置(或复制失败)时,会发生此错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-01
      • 2017-11-30
      • 2017-12-14
      • 2016-10-08
      • 2016-11-04
      • 2017-02-16
      相关资源
      最近更新 更多