前面讲解了在不同的操作系统及环境中安装Node-RED的方法。这些安装方法是将Node-RED按照产品化的方式进行使用,如果需要对Node-RED进行再次开发,可以通过源代码启动Node-RED,这样你可以通过修改Node-RED的源代码来实现更加高级的应用场景。
以源代码运行Node-RED,你需要做以下准备。
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库进行托管,故名GitHub。
Node-RED也是GitHub的一个开源项目,因此用户首先得有一个GitHub账号,才能获取Node-RED的源代码,并且提交自己修改的内容。
访问www.github.com进入官网,如图2-17所示。
图2-17 GitHub官网界面
单击右上角的Sign up按钮按照提示进行注册即可。
grunt-cli是一套前端自动化构建工具,一个基于JavaScript的命令行工具,也可通过NPM工具安装:
做好以上准备后,用户就可以进行代码获取和提交了。
安装好Git后,就可以直接从GitHub克隆Node-RED源代码,命令如下:
这将在当前目录创建一个Node-RED,目录中包含项目的完整源代码。此时,Git会默认克隆Master分支(Git源码库中分支是指不同版本的代码内容)。Master分支是指当前在维护状态的最新内容,其中包含当前稳定版本的代码,以及在下一个维护版本之前的任何错误修复。另外还有一个分支叫Dev,此分支是开发分支,包含尚未发布的最新代码,如果想使用这个分支可以使用以下命令:
无论选择哪个分支,当项目代码通过Git克隆到本地目录后,执行以下命令完成项目依赖项的安装工作:
安装时把Node-RED的依赖文件全部下载下来放入当前目录中的node-module目录。这个过程经常会出现错误,很多时候都是网络因素导致,可以多执行几次,保证全部的依赖项都安装完成。
安装完依赖项以后,Node-RED还不能马上运行起来,还需要进行一次构建。构建过程中会生成最后真正可以部署和运行的Node-RED项目,可以使用以下命令完成:
然后,你可以使用以下命令运行Node-RED:
如果要传递命令行参数,需要使用以下命令:
按照一般情况,修改了源代码,需要重新启动Node-RED才能看到修改后的效果,这样不利于开发工作。因此,grunt模块提供了一个开发模式,通过以下命令启动的Node-RED可以实现热部署(代码修改及时生效):
此命令将构建并运行Node-RED,然后观察文件系统以查找对源代码的更改。如果命令检测到对编辑器代码所做的更改,它将重建编辑器组件。此时,用户可以刷新浏览器,以查看更改。如果命令检测到对运行环境或节点所做的更改,它将自动重新启动Node-RED以加载这些更改。
除了在启动的时候加载已有的流程json文件之外,此模式不允许将其他参数传递给Node-RED: