问题标签 [nwjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
29 浏览

angularjs - HTML 页面选择所有 Angular 问题还是 NWJS 问题?

我有一个问题,当我在我的 HTML Angular 应用程序中导航时,当页面呈现时,它会呈现页面上“已选择”的所有内容。

我正在使用最新的 Angular 1.x 版本以及 Angular 材料(最新)。我应该补充一点,我在 NWJS 0.12 中运行它,这可能是一个因素

我还没有确定导致这种情况发生的确切行为模式,但它通常足以让用户感到厌烦。

0 投票
0 回答
261 浏览

video-streaming - NW.js 原生视频处理和显示

我正在从事计算机视觉项目,并试图找到一种方法来构建具有现代 UI 的桌面应用程序,该应用程序将能够显示由我的算法处理的实时视频。创建视频流和网络浏览器的代码将在同一台机器上。

我有一个本机 C++ 代码,可以从 IP 摄像机捕获视频,对捕获的帧进行一些处理,并在其上绘制结果。例如 - 它检测人脸并在视频帧上绘制边界框。视频处理代码非常繁重,无法翻译成javascript。

之后,我想在使用 NW.js 构建的桌面应用程序中,在基于 Web 的 GUI 中显示带有框的框架。

问题是如何以尽可能低的 CPU 使用开销显示已处理的帧?

我可以将每一帧压缩成 JPG(PNG/BMP...) 并将其发送到<img>标签,但这种方式会占用过多的 CPU,这是最糟糕的解决方案。

完美的解决方案应该是通过本机代码将帧数据直接发送到 GPU 上的 WebGL 纹理,但我找不到如何制作它的方法。

RGB32(24) 传输可能会有所妥协,但图像流相当大(大约每秒 200 MB),这是一台 2MP/25fps 网络摄像机的流。在未来,我希望能够在一台 PC 上使用多达 4 个摄像头。

我有使用 Qt 的经验,这个任务可以用 Qt 来解决,但我真的需要一些基于 HTML5 的 GUI 及其动画、样式和其他功能。

我的目标操作系统是 Windows,但最好有跨平台的解决方案。如果 Windows 有问题 - 我可以使用 Linux。

0 投票
1 回答
613 浏览

javascript - node-webkit 应用程序无法在 Windows 7 32 位上运行

我是 node webkit 的新手,用 html 开发桌面应用程序。我创建了一个小项目并使用 nw.exe 运行,它在 windows 8.1 64 位中运行良好,但在 windows 7 中无法运行。

意味着如果我单击多次然后突然启动并关闭一次后它就无法再次运行。

我的package.json

}

索引.html

有人可以帮忙吗?

0 投票
0 回答
120 浏览

ionic2 - 如何在 Ionic2 打字稿中使用 require('xyz")

我目前正在开发 Ionic2 + nw.js 应用程序。

我已经创建了 Ionic2 部分,但我必须使用 nw.js api。为此我必须使用

Ionic2 typescript 编译器在 require('xyz') 语句中给出错误。有什么方法可以绕过打字稿编译器错误。

我在顶部使用过:

但没有好处。

目前我必须使用解决方法来创建 Ionic2 应用程序,然后编辑 app.bundle.js 以进行 NW.js 集成。

0 投票
1 回答
654 浏览

javascript - Chrome 应用程序身份登录不起作用

我尝试使用 chorome.identity 对我的应用程序进行身份验证,但似乎 NWJS 无法加载 chrome://chrome-signin/?access_point=6&reason=0 上 chrome 提供的登录页面。我的 package.json 是这样的:

这是我的代码:

我写的代码有错吗?

0 投票
2 回答
1329 浏览

node.js - 带有节点的轻量级桌面应用程序 - 这可能吗?

我当前的应用程序(Visual Studio 中的 WPF)重 2MB。

现在我想用 Node 和 Javascript 重新创建这个应用程序。为什么?主要原因是 - 我想学习一些 Javascript(是的,这是我的学习方式,请不要给我如何学习 JS 的建议)。次要原因 - 我想使用 CSS3 的全部功能,而 WPF App 仅支持 CSS2。

问题是重量。任何使用 Electron 或 NWJS 构建的示例应用程序重约 115MB!!!
我可以理解桌面应用程序需要节点和浏览器才能工作,但是 115MB?!

所以我的问题是- 有没有办法用 Electron/NWJS(或类似的替代方案)创建轻量级桌面应用程序?

我可以接受大约 50-60MB 的最终重量。

0 投票
1 回答
522 浏览

javascript - 如何在 NWJS 或 Electron 应用程序中打开文件?

假设有一个类似记事本的应用程序具有编辑功能。代码镜像库用于此目的。现在由于应用程序是 NWJS,所以我不知道如何直接在我的应用程序中打开任何文本文件。就像在其他本机应用程序中一样,我们可以在上下文菜单中选择选项,例如“使用崇高文本打开”。文件在文本编辑器中打开。我怎么能在 nwjs 应用程序中做到这一点?有任何模块吗?请帮我 。谢谢

0 投票
2 回答
1248 浏览

typescript - NW.js + TypeScript:找不到模块'nw.gui'

我正在尝试在现有的NW.js + JS项目中使用TypeScript 。 因为我是 NW.js 的新手,所以我天真地认为它在安装nw.gui typings后可以开箱即用。 它没有(因为 TypeScript 无法识别全局变量)。

nw

给我

找不到模块“nw.gui”

如何设置我的代码以与 NW.js 一起正常工作?

0 投票
1 回答
183 浏览

angularjs - 如何在 NWJS 和 Linux 中使用证书

我正在使用 Nwjs 和 AngularJS 制作应用程序,该应用程序在 Windows 上运行良好,但现在我正在尝试将应用程序导出到 linux(“Ubuntu”),但我收到证书错误,在 Windows 上我安装了证书在“受信任的根证书颁发机构”上,在这种情况下,nwjs 可以毫无问题地获取所有文件。

我将解释我现在拥有的代码:

在索引文件中,我有类似以下代码的内容,在该代码中,我从服务器加载“js、css 和 html”:

就像您看到的那样,我需要从服务器加载一些文件,在这种情况下,我将其命名为“ https://test.com ”。

在路由文件中我有:

我尝试了在这里找到的解决方案,之后我可以在 etc/ssl 中看到证书,然后我认为我所做的过程是正确的。

我遇到的问题

  1. 我不确定 Linux 上的“受信任的根证书颁发机构”的等价物

  2. 在哪里读取 nwjs 证书

谢谢你的帮助

0 投票
4 回答
8620 浏览

node.js - 如何在不强制更新的情况下使用 Selenium chromedriver?

我一直在 nwjs/node.js 中开发一个浏览器自动化应用程序,它使用数据驱动的DSL指令。

我决定通过我的 package.json 中的以下依赖项为 chromedriver 和 selenium webdriver 使用 npm 包:

一切都很顺利,直到最近应用程序在启动 chromedriver 时停止工作:

以下是在我的 Macbook 上终端运行时出现的错误:

我还针对我当时制作的几个测试应用程序进行了测试,以确保这不是我在项目中引入的问题。

forBrowser然后,我在下载geckodriver后尝试在该方法中使用“firefox”,效果很好。

看起来好像 chromedriver 的某种自动更新破坏了我的项目。我注意到有关 stackoverflow 的其他几个与类似错误相关的问题,尽管没有一个包含该Runtime.evaluate missing 'wasThrown'错误,这似乎表明我的理论可能是正确的。

我可以继续切换到geckodriver,但我不确定我是否会遇到类似的问题。

我想这里真正的问题是......

如何禁用自动更新以保持此应用程序作为独立项目运行?

同样,这不是作为一个不断更新的测试套件,而是一个由自定义语言驱动的浏览器自动化应用程序。它既可以通过托管的 node.js 实例作为自动化解决方案运行,也可以作为使用 nwjs 运行的操作员驱动的 gui 应用程序运行。

编辑:

到目前为止,我已经找到了一个很有前途的方法。如果我让它按我的喜好工作,我会添加一个答案。

Selenium 文档包含有关如何自定义 chromedriver 选项的信息。我已经下载了一个Chromium版本并使用这个逻辑来连接它:

注意:在 Mac 上,您必须提供应用程序包中实际可执行文件的路径,例如:“Chromium.app/Contents/MacOS/Chromium”。

到目前为止,我使用的是 Chromium 而不是 Chrome,版本仍然不正确,但我确实验证了它与我在没有设置路径的情况下运行的不同。从理论上讲,如果我能够可靠地冻结自动更新过程,同时仍然独立打包应用程序,我应该能够以相同的方式运行 Chrome。如果这不起作用,我可能会求助于使用 Chromium。