【问题标题】:Electron can't find resourcesElectron 找不到资源
【发布时间】:2018-03-31 19:18:53
【问题描述】:

我正在尝试使用 AngularElectron 构建一个超级简单的应用程序,并尽可能从头开始设置它(仅用于学习目的)。我已经建立了一个基于this article 的简单 Angular 项目,它在浏览器中运行良好。

然后我安装了 Electron 并从 this quick start 添加了 electron-main.js

如果您认为可以提供帮助,您可以按原样克隆我的(非常基本的)项目:git clone https://popClingwrap@bitbucket.org/popClingwrap/psutil-desktop.git

现在,当我运行 electron electron-main.js 时,应用程序启动并加载了 index.html,但其他所有内容都失败了 - 我的 main.js 和位于 node_modules 的模块

如果我使用 WebPack 打包所有内容并使用生成的 bundle.js,那么一切正常,但我不想在开发过程中捆绑所有更改。

我猜 Electron 需要一些配置来告诉它在哪里可以找到所需的资源?
谁能详细说明为什么会这样以及如何解决?

另外,如果有人对帮助构建/调试电子应用程序的工具有任何很好的提示,那就太好了!我过去构建了工作项目,但它们都是从 Angular-CLI 开始的,我热衷于以最小的臃肿来完成这个项目,并真正尝试了解该过程的基础知识。

提前干杯

【问题讨论】:

  • 从我自己的角度来看,选择不使用 webpack 有点奇怪(此外,只要它可以使用,你就应该使用它)。反正。在您的 index.html 中,您会发现一些包含(通常来自 dist/ 或来自 ./ 或 / 如果定义了基本 href):确保您的主脚本和图像正确加载并确保您的主 javascript 文件(您用电子发射)指向正确的资源。 Webpack 已经为您做到了,这就是您应该使用它的原因。也就是说,如果“每一个变化”都是这里的问题,只需禁用 webpack 的 watch 选项。
  • 我并不是真的选择不使用 webpack。目前我只是在关注教程和阅读文章,并最终达到了我的目的。关于你的其他观点,当我在浏览器中运行而不是在电子窗口中运行时,一切似乎都加载得很好。

标签: angular electron


【解决方案1】:

首先你需要做的

npm 开始

它将在监视模式下启动一个服务器(提供资源文件所必需的)。

然后在 electron-main.js 中将“loadUrl”行更改为如下

mainWindow.loadURL('http://127.0.0.1:8080/')

那就做吧

npm 运行电子

一切都会好起来的。

我在我的本地机器上附上你的工作项目的屏幕截图(带有更改的消息)。

【讨论】:

  • 完美!单行解决方案,正是我喜欢的 :) 我很困惑,Electron 不启动自己的服务器,为什么需要实时服务器?
  • @popClingwrap 不,它没有。它的行为就像一个浏览器(尽管有很多附加功能),并根据提供的 URL 加载您的应用程序。
猜你喜欢
  • 2022-12-20
  • 2021-07-01
  • 1970-01-01
  • 2015-01-28
  • 2016-12-17
  • 2015-05-03
  • 2013-01-03
  • 2014-03-20
  • 2015-04-13
相关资源
最近更新 更多