【问题标题】:Node.js + Node-Webkit + Node-SerialPort Based Application - Is this Possible?Node.js + Node-Webkit + 基于 Node-SerialPort 的应用程序 - 这可能吗?
【发布时间】:2013-09-01 13:08:09
【问题描述】:

我是 Node.js 的新手,在我开始采用新技术并迁移我的基于 c# 的应用程序之前,我想确保我的想法在 Node.js 上是可行的,并且是否被推荐.

所以请告诉我你的意见!

我的申请有以下要求:-

  1. TCP 服务器(接收来自智能手机、电脑等 TCP 客户端的数据包)
  2. 串口访问(控制硬件设备)
  3. Web 服务器设施(用于提供 HTML5 页面或提供 Web 服务接口)
  4. 简单的原生应用,例如用于配置的 GUI。
  5. 所有这些都需要很好地打包,以便最终用户轻松安装。

您可能会问我为什么要这样做?我对使用 Node.js 最感兴趣的原因在于其跨平台特性,包括能够安装在廉价的单板/嵌入式计算机上。

这是我的想法:-

Node.js - 提供 TCP 服务器,提供 HTML5 页面并提供 Web 服务接口。

Node-Webkit - 提供简单的原生应用类配置界面。我也相信它提供了打包我的应用程序以进行简单分发的能力,但我不确定? (如果有另一种打包我的应用程序以进行简单分发的方法,我可以省略 Node-Webkit。尽管它是首选,因为即使必须找到计算机的 IP 地址才能访问 Web 浏览器界面,对于某些人来说也很棘手我的用户。)

Node-SerialPort - 提供与硬件设备通信的能力。说明将来自三个来源之一。 1) TCP 连接 2) 已启动 HTML5 网页 3) 已启动 Web 服务。

【问题讨论】:

  • 你成功了吗?我正在努力实现同样的目标?有可能吗?

标签: javascript html node.js node-webkit node-serialport


【解决方案1】:
  1. 这就是大多数人使用 Node.js 的目的
  2. https://npmjs.org/search?q=serial+port
  3. 同样,这也是大多数人使用 Node.js 的目的
  4. 因为 1 和 3,node.js 应用最明显的 UI 是浏览器。编写一个配置页面来控制您的应用程序。使用 node-webkit 是多余的,只需使用任何可用的浏览器即可。 Node 可以在多个端口上运行多个侦听器,为同一个应用提供服务。
  5. npm install 很简单。

去学习如何编写简单的 Node.js 应用程序(使用 express 可以轻松实现 http 服务器,jade 或 nunjucks 可以轻松实现 html 模板),然后从那里开始学习。

【讨论】:

  • 谢谢迈克,非常感谢!对于第 5 点,您说 npm install 非常简单。您是否像使用 Node Packaged Modules (NPM) 一样谈论命令行安装?我正在构建的产品需要分发给最终用户,而不是开发人员,因此它需要打包在 Windows 的 .exe 或 .msi 中,Macintosh 的 .dmg 中。因此,任何命令行安装都不可行。能否打包 node.js 应用为普通用户简单分发?
  • 我停止计算说“您需要安装 X”的应用程序的数量。这可能是一个 MSVC++ 可再发行组件,或者在本例中是 nodejs。当 nodejs 的强大之处在于它是通用可执行脚本时,将其打包为特定于操作系统的安装程序有点奇怪,但是您可以将项目打包为“安装程序”,它只是一个带有解压后脚本的自解压存档运行 npm install 以获取所有依赖项。
【解决方案2】:

第 5 点。我了解拥有安装程序的事实。我建议 .msi 或 .exe 将为 NodeJs 创建一个 Windows 服务。然后节点 js 服务器将在 Windows 启动时启动,最终用户将使用

访问浏览器
http://localhost:< a port number>/. 

打包NodeJS:打包nodejs,可以把nodejs安装目录下的nodejs.exe复制到你开发node应用的目录下。然后压缩所有东西。您将其解压缩到另一台计算机上,它将执行。

【讨论】:

    猜你喜欢
    • 2014-12-07
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多