购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.10 使用源代码启动Node-RED

前面讲解了在不同的操作系统及环境中安装Node-RED的方法。这些安装方法是将Node-RED按照产品化的方式进行使用,如果需要对Node-RED进行再次开发,可以通过源代码启动Node-RED,这样你可以通过修改Node-RED的源代码来实现更加高级的应用场景。

2.10.1 技术准备

以源代码运行Node-RED,你需要做以下准备。

1.创建一个Git用户

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库进行托管,故名GitHub。

Node-RED也是GitHub的一个开源项目,因此用户首先得有一个GitHub账号,才能获取Node-RED的源代码,并且提交自己修改的内容。

访问www.github.com进入官网,如图2-17所示。

图2-17 GitHub官网界面

单击右上角的Sign up按钮按照提示进行注册即可。

2.全局安装的grunt-cli模块

grunt-cli是一套前端自动化构建工具,一个基于JavaScript的命令行工具,也可通过NPM工具安装:

做好以上准备后,用户就可以进行代码获取和提交了。

2.10.2 克隆代码并安装依赖项

安装好Git后,就可以直接从GitHub克隆Node-RED源代码,命令如下:

这将在当前目录创建一个Node-RED,目录中包含项目的完整源代码。此时,Git会默认克隆Master分支(Git源码库中分支是指不同版本的代码内容)。Master分支是指当前在维护状态的最新内容,其中包含当前稳定版本的代码,以及在下一个维护版本之前的任何错误修复。另外还有一个分支叫Dev,此分支是开发分支,包含尚未发布的最新代码,如果想使用这个分支可以使用以下命令:

无论选择哪个分支,当项目代码通过Git克隆到本地目录后,执行以下命令完成项目依赖项的安装工作:

安装时把Node-RED的依赖文件全部下载下来放入当前目录中的node-module目录。这个过程经常会出现错误,很多时候都是网络因素导致,可以多执行几次,保证全部的依赖项都安装完成。

2.10.3 构建Node-RED

安装完依赖项以后,Node-RED还不能马上运行起来,还需要进行一次构建。构建过程中会生成最后真正可以部署和运行的Node-RED项目,可以使用以下命令完成:

2.10.4 运行Node-RED

然后,你可以使用以下命令运行Node-RED:

如果要传递命令行参数,需要使用以下命令:

2.10.5 开发模式

按照一般情况,修改了源代码,需要重新启动Node-RED才能看到修改后的效果,这样不利于开发工作。因此,grunt模块提供了一个开发模式,通过以下命令启动的Node-RED可以实现热部署(代码修改及时生效):

此命令将构建并运行Node-RED,然后观察文件系统以查找对源代码的更改。如果命令检测到对编辑器代码所做的更改,它将重建编辑器组件。此时,用户可以刷新浏览器,以查看更改。如果命令检测到对运行环境或节点所做的更改,它将自动重新启动Node-RED以加载这些更改。

除了在启动的时候加载已有的流程json文件之外,此模式不允许将其他参数传递给Node-RED: 4BQgVdcMeie4xOYIm7NJRxi0x8r1QSwmvvPRe21LjimX8iUy4dQ8FD3ur+LzVjEW



2.11 Node-RED命令行工具

和前面介绍的在不同操作系统下启动Node-RED的方法一样,运行Node-RED都是通过命令行工具来完成,进入Node-RED命令行工具的命令如下:

启动后终端显示内容如下:

然后,你可以通过浏览器访问http://localhost:1880来进入Node-RED编辑器。

此时,终端窗口会随时显示日志内容。日志输出可提供各种信息,具体如下。

● Node-RED和Node.js的版本。

● 尝试加载节点时遇到的错误。

● 设置文件和用户目录的位置。

● 正在使用的流程文件的名称。

2.11.1 Node-RED命令行用法

除了启动Node-RED以外,Node-RED命令行还有很多其他功能。用户可以采用不同参数来实现不同功能:

各个参数描述如表2-1所示。

表2-1 Node-RED命令行参数描述

2.11.2 将参数传递给底层Node.js进程

有时,我们需要将参数传递给底层Node.js进程,比如在Raspberry Pi或BeagleBone Black等内存有限的设备上运行时。为此,你必须使用node-red-pi启动脚本代替node-red中。注意:此脚本在Windows系统上不可用。或者,你可以通过red.js将参数传递给Node-RED进程。

以下两个命令分别实现了这两种方法:

2.11.3 升级Node-RED

如果你使用树莓派脚本安装了Node-RED,则可以重新运行它进行升级。如果你已将Node-RED安装为全局NPM包,则可以使用以下命令升级到最新版本:

如果运行环境为Windows,则使用以下命令来升级到最新版本:

注意:

使用--unsafe-perm参数的原因是,当node-gyp尝试重新编译任何本机库时,它会尝试以nobody用户身份工作,但无法访问某些目录,这会导致相关节点(例如,串行端口)无法安装。使用--unsafe-perm参数就可以用root访问权限进行安装。 3HkuJIHgbakRyxvRKJzD5/icxmdAs/Z8UKE0yMwzCIOwvISpaw2MjuHdSzMOf8bt

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开