Electron Builder: Not allowed to load local resour

2020-07-06 07:09发布

I have an issue when using electron builder I got blank page and error in console:

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);

5条回答
孤傲高冷的网名
2楼-- · 2020-07-06 07:30

Solved by adding "files" in package.json

"files": [
  "*.js",
  "build",
  "node_modules"
],
查看更多
【Aperson】
3楼-- · 2020-07-06 07:34

I also got the same issue i placed the below line before loading the file.

 window.webContents.openDevTools()

Example Code

// 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()
查看更多
唯我独甜
4楼-- · 2020-07-06 07:35

I tried to fix this my whole day & finally found the solution,

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

We need to add files in build section where electron.js is my entry point.

查看更多
Root(大扎)
5楼-- · 2020-07-06 07:40

I think your index.html file is not present in your given location. __dirname, '/build/index.html'

I missed this silly point and wasted a lot of time. Angular-cli creates default location for index.html inside a folder in dist.

dist/project-name/index.html
查看更多
欢心
6楼-- · 2020-07-06 07:52

I had the same issue and managed to sort it out using:

path.resolve('index.html')

like this:

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

查看更多
登录 后发表回答