gpt4 book ai didi

electron - 带有Next.js的 Electron 应用程序(无法加载html文件)

转载 作者:行者123 更新时间:2023-12-03 12:43:22 25 4
gpt4 key购买 nike

我正在使用Next.js和electronic-next包构建一个 Electron 应用程序,以便Electron可以处理Next.js中的“输出”文件夹。
该应用程序可以很好地进行开发(对所有人来说都是简单的html“hello world”测试);但是,当我用electronic-builder打包应用程序时,页面无法加载,DevTools表示无法加载本地文件。我可以看到 Electron 生成器生成的文件,而在任何地方都找不到静态的html文件。有什么我想念的吗?静态文件是否包含在* .asar文件中?

这适用于Windows 10下的Electron。
在下面,我显示了electronic-builder的package.json文件设置,以及在应用程序入口文件(index.js)上打开初始HTML文件的调用

// ---------package.json----------
"scripts": {
"start": "electron .",
"build": "next build renderer && next export renderer",
"dist": "npm run build && electron-builder"
},
"build": {
"files": [
"**/*",
"renderer"
]
},

// --------index.js----------
// I can confirm that /renderer/out/start.html file is created

const devPath = "http://localhost:8000/start"
const prodPath = path.resolve('renderer/out/start.html')

const entry = isDev ? devPath : ('file://' + prodPath)

console.log(entry)
win.loadURL(entry)

这是我得到的错误:

不允许加载本地资源:file:///C:/Users//Desktop/text_exc_app/dist/win-unpacked/resources/renderer/out/start.html

最佳答案

我从另一篇文章中发现您也可以执行此操作(使用app.getAppPath()):

const prodPath = path.join(app.getAppPath() ,'renderer/out/start.html')

这解决了我的问题!

我仍然不确定两种访问文件方式之间的区别,以及为什么一种有效而另一种无效。

关于electron - 带有Next.js的 Electron 应用程序(无法加载html文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57149584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com