Electron Builder:不允许加载本地资源:app.asar/build/index.html
Posted
技术标签:
【中文标题】Electron Builder:不允许加载本地资源:app.asar/build/index.html【英文标题】:Electron Builder: Not allowed to load local resource: 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 时是否有任何限制选项? 【参考方案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'))
【讨论】:
以上是关于Electron Builder:不允许加载本地资源:app.asar/build/index.html的主要内容,如果未能解决你的问题,请参考以下文章
使用 electron-builder 构建 React-Electron 应用程序,index.js 加载到 pre 标签中
具有Vue和vue-cli-plugin-electron-builder的电子应用程序无法与Tesseract.js一起使用
带有 Vue 和 vue-cli-plugin-electron-builder 的电子应用程序无法与 Tesseract.js 一起使用