当前位置: 首页 > 知识库问答 >
问题:

电子应用与Nex。js(加载html文件不起作用)

须敏学
2023-03-14

我正在使用Next构建一个电子应用程序。js和electron下一个包,以便electron可以处理下一个包中的“输出”文件夹。js。该应用程序在开发中非常有效(简单的html“hello world”测试适用于所有人);但是,当我使用electron builder打包应用程序时,页面不会加载,而DevTools会说它无法加载本地文件。我可以看到由electron builder生成的文件,但在任何地方都找不到静态html文件。有什么我遗漏的吗?静态文件是否包含在*中。asar文件?

这是Windows 10下的电子。下面我展示了电子构建器的package.json文件设置,以及在应用程序条目文件上打开初始超文本标记语言文件的调用(index.js)

// ---------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-解包/资源/渲染器/输出/开始。html

共有1个答案

吕向阳
2023-03-14

我从另一篇文章中发现,你也可以这样做(使用app.getAppPath()):

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

这解决了我的问题!

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

 类似资料:
  • 问题内容: 我想要一个矩形框的布局。在左侧的框内是文本,在右侧的是图像。这在浏览器中看起来不错,但是当以html电子邮件形式发送时,在Outlook中,浮动权利似乎无效。它将图像放在文本的下一行中。关于如何进行这项工作的任何想法?(我试图避免使用表。) 问题答案: 在呈现HTML时,大多数电子邮件客户端都是原始的,并且会破坏许多格式良好的HTML元素。

  • 更新。所有的建议我都试过了。但仍然无法让Outlook显示粗体! 更新2。请参阅下面的解决方案 我正在创建一个HTML电子邮件时事通讯。

  • 问题内容: 我的问题很简单,我有一个名为new.json的文件,并且试图使用JQuery加载和显示数据。我一直在写JavaScript代码: 并且new.json中的数据如下所示: 问题答案: 如果您使用的是Chrome。因为Chrome不允许xmlhttprequest请求本地文件。因此,jQuery无法加载您的new.json 你可以加 --allow-file-access-from-fil

  • 问题内容: 我正在用Java开发游戏,我想将随机生成的地图保存在图像上,然后加载它。我的代码在Eclipse中工作正常,但是当我将其导出到.jar / .exe文件时,它在制作文件(“ mapf”)时会遇到问题。谢谢您的回答。 堆栈跟踪: 问题答案: 您似乎认为您可以将jar视为目录结构,事实并非如此。您甚至都不应该 考虑 将代码从中运行到jar文件中(可能的话,但是会涉及 很多 陷阱)。 假设您

  • 问题内容: 我正在使用PHP 函数: 当我收到这封电子邮件时,它看起来像这样: 我期望这样的事情: 没有HTTP标头也可以正常工作。如何制作 新行 并仍使用“ Content- Type”声明? 问题答案: 您需要使用一个,因为您是。 它没有标题就可以工作,因为这样您的电子邮件将被解释为 纯文本 。如果您确实想使用,则应该使用,但那样会丢失任何标记。

  • 问题内容: 我是PHP新手。我安装了XAMPP并运行了Apache。我在XAMPP的htdocs中创建了helloworld.php,并在浏览器中显示了PHP。我的问题是,为什么我的HTML文件中的PHP脚本不显示在浏览器中?香港专业教育学院从未安装过PHP。我也应该安装吗?它会与XAMPP冲突吗?我的代码如下。任何帮助将不胜感激。提前致谢: 问题答案: XAMPP已经包含PHP,但是除非您以该脚