使用电子构建器时遇到问题我在控制台中出现空白页和错误:
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);
答案 0 :(得分:5)
通过在package.json
中添加“files”来解决"files": [
"*.js",
"build",
"node_modules"
],
答案 1 :(得分:1)
我遇到了同样的问题,并设法使用以下方法对其进行了解决:
path.resolve('index.html')
像这样:
const startUrl = path.resolve('index.html');
mainWindow.loadURL(startUrl);
答案 2 :(得分:1)
我认为您的index.html文件不在您指定的位置。 __dirname, '/build/index.html'
我错过了这个愚蠢的观点,浪费了很多时间。 Angular-cli在dist中的文件夹内为index.html创建默认位置。
dist/project-name/index.html
答案 3 :(得分:0)
在加载文件之前,我也遇到了同样的问题。
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()
答案 4 :(得分:0)
我一整天都在尝试解决此问题,最终找到了解决方法,
"build": {
"appId": "myledgerapp",
"extends": null,
"files": [
"./build/**/*",
"./public/electron.js"
]}
我们需要在build部分添加文件,其中electro.js是我的入口点。