【发布时间】:2018-03-18 08:00:53
【问题描述】:
直接使用电子运行我的应用程序时
electron .
一切正常,但是当使用电子打包程序打包应用程序并运行它时,我得到了错误
Not allowed to load local resource
在代码中
mainWindow.loadURL(`${__dirname}/../build/index.html`)
有什么帮助吗??
【问题讨论】:
标签: electron
直接使用电子运行我的应用程序时
electron .
一切正常,但是当使用电子打包程序打包应用程序并运行它时,我得到了错误
Not allowed to load local resource
在代码中
mainWindow.loadURL(`${__dirname}/../build/index.html`)
有什么帮助吗??
【问题讨论】:
标签: electron
尝试更改 BrowserWindow' 选项:
new BrowserWindow({
webPreferences: {
webSecurity: false
}
})
通过添加
webPreferences: {
webSecurity: false
}
它停止保护本地访问并且您的文件变得可访问 如果窗口的 url 指向远程源,例如 http://...,浏览器将不允许加载本地资源,除非您设置上述选项。
【讨论】:
此请求缺少很多细节。我总是使用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 路径实际上不是您的文件所在的位置。当您没有将分发复制到您认为正在复制的位置(或复制失败)时,会发生此错误。
【讨论】: