【问题标题】:Electron Builder: Not allowed to load local resource: app.asar/build/index.htmlElectron Builder:不允许加载本地资源:app.asar/build/index.html
【发布时间】:2017-12-14 18:46:19
【问题描述】:

我在使用电子生成器时遇到问题,我在控制台中出现空白页和错误:

Not allowed to load local resource: file:///C:/Users/emretekince/Desktop/DCSLogBook/client/dist/win-unpacked/resources/app.asar/build/index.html

main.js

const startUrl = process.env.ELECTRON_START_URL || url.format({
        pathname: path.join(__dirname, '/build/index.html'),
        protocol: 'file:',
        slashes: true
    });
mainWindow.loadURL(startUrl);

【问题讨论】:

  • 初始化 BrowserWindow 时是否有任何限制选项?

标签: javascript reactjs electron electron-builder


【解决方案1】:

通过在package.json中添加“文件”解决

"files": [
  "*.js",
  "build",
  "node_modules"
],

【讨论】:

  • 这对我不起作用。 files 究竟做了什么?
  • 你怎么知道要向“文件”添加什么?
  • 我应该在哪里添加文件?我已将它添加到我的 package.json 中。但没有任何变化,错误仍然存​​在
  • 我使用它并将我的 html 文件移动到静态文件夹中。所以我只是将“静态”添加到“文件”内的列表中。
【解决方案2】:

我认为您的 index.html 文件不在您给定的位置。 __dirname, '/build/index.html'

我错过了这个愚蠢的点,浪费了很多时间。 Angular-cli 在 dist 的文件夹中创建 index.html 的默认位置。

dist/project-name/index.html

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,并设法解决了:

    path.resolve('index.html')

    像这样:

    const startUrl = path.resolve('index.html'); mainWindow.loadURL(startUrl);

    【讨论】:

      【解决方案4】:

      我一整天都在尝试解决这个问题,终于找到了解决方案,

      "build": {
      "appId": "myledgerapp",
      "extends": null,
      "files": [
        "./build/**/*",
        "./public/electron.js"
      ]}
      

      我们需要在 electron.js 是我的入口点的构建部分添加文件。

      【讨论】:

        【解决方案5】:

        我也遇到了同样的问题,我在加载文件之前放置了以下行。

         window.webContents.openDevTools()
        

        示例代码

        // Issue code
        window =  new BrowserWindow({width:800,height:600,parent:mainWindow})
        window.webContents.openDevTools()
        window.loadURL(url.format({
            pathname: path.join(__dirname,'/../views/file.html'),
            protocol: 'file',
            slashes: true
        }))
        
        // Issue Solved code
        window =  new BrowserWindow({width:800,height:600,parent:mainWindow})
        
        window.loadURL(url.format({
            pathname: path.join(__dirname,'/../views/file.html'),
            protocol: 'file',
            slashes: true
        }))
        window.webContents.openDevTools()
        

        【讨论】:

          【解决方案6】:

          我遇到了类似的问题,但缺少path.join

          错误代码:

          win.loadFile('index.html')
          

          固定代码:

          win.loadFile(path.join(__dirname, 'index.html'))
          

          【讨论】:

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