Node-Red学习:搭建开发环境
一、node-red的介绍
1. 什么是Node-RED?
Node-RED 是一个低代码/可视化编程工具,专门用于连接硬件设备、API 和在线服务。它采用流程图(Flow-Based Programming)的方式,让开发者通过拖拽节点(Nodes)并连线(Wires)来构建自动化任务,而无需编写大量代码。

2. 核心概念
✅ 节点(Nodes):
-
代表一个功能模块(如发送HTTP请求、读取传感器数据、存储到数据库)。
-
分为输入(如
inject触发)、处理(如function写逻辑)、输出(如debug打印结果)。
✅ 流(Flows):
-
由多个节点连接而成的数据处理流程,例如:
[定时触发] → [获取天气API] → [解析数据] → [发送到手机]
✅ 消息(Messages):
-
节点之间传递的数据包,格式为
msg对象,通常包含:{ payload: "Hello World", // 主要数据 topic: "greeting", // 可选主题 _msgid: "123" // 消息ID }
✅ 上下文(Context):
-
用于存储临时或持久数据,分为:
-
节点级(仅之间有连接的节点):节点Context
-
流程级(仅当前流可用):Flow Context
-
全局级(所有流共享):Flow Context
-
文件/数据库存储(重启后不丢失)
-
✅ context的三种作用域 vs C++变量
|
Node-RED Context |
类比 C++ 变量 |
生命周期 & 作用域 |
示例场景 |
|---|---|---|---|
|
|
函数局部变量 |
仅在当前节点内有效,处理完消息后销毁 |
临时存储中间计算结果 |
|
|
类的成员变量 |
属于当前 Flow(流程),所有节点共享 |
流程内共享的配置参数 |
|
|
全局变量 |
整个 Node-RED 实例共享,跨 Flow 可用 |
数据库连接池、全局计数器 |
二、node.js的下载及安装
Node.js 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境,它让 JavaScript 可以脱离浏览器运行在服务端,用于构建高性能的网络应用。
1、node的下载
在node.js的官网下载msi文件,这种适合有管理员权限的设备,若是公司所用的设备可下载公司内部提供的安装包msi。下载后安装路径可自定义,勾选不安装额外的插件。

2、node安装成功的核验及配置
✅ 安装成功的核验:
由于使用msi文件安装,nodejs的系统变量会自动添加安装路径,所以不必要进行这一步。若是采用文件安装的,需重新设置系统变量。而公司电脑一般不允许配置系统变量,并且不允许修改安装路径中的文件夹,需要管理员权限,但可以利用配置用户变量,即只有当前用户可以执行命令。
# 验证 node.js 版本
node -v # 应该打印 "v.X.x.x"
# 验证 npm 版本
npm -v # 应该打印 "v.X.x.x"
✅ 设置全局(Global)及缓存(Cache)的路径:
在 Node.js 生态中,npm 的全局安装(Global)和缓存(Cache)机制是两个关键设计,它们分别服务于不同的开发需求。以下是它们的核心作用及使用场景:全局安装:是为开发者提供系统级工具链(如 tsc、webpack)。缓存机制:是 npm 的性能加速器,通过智能存储减少网络开销。
-
npm 全局安装(npm install -g)
-
全局命令行工具:将包安装到系统路径,使其成为终端命令(如
vue-cli、nodemon)。 -
跨项目共享:避免在每个项目中重复安装常用工具。
-
慎用全局:只有工具类包适合全局安装,库类包应本地安装。
-
查看路径
npm root -g # 查看全局安装目录
which <包名> # 查看命令所在路径(Unix)
where <包名> # Windows 等效命令
npm get prefix # 查看全局安装路径
npm set prefix "xxx" #设置全局安装路径
-
npm 缓存(Cache)
-
加速重复安装:缓存下载的包(
.tgz压缩包),避免重复网络请求。 -
离线恢复:网络不可用时从缓存恢复安装。
-
常用命令
npm config get cache # 查看缓存目录
npm cache verify #验证缓存完整性
npm cache clean --force #强制清空缓存(npm@5+ 需 --force)
npm install --prefer-offline #优先使用缓存(离线模式)
3、常见问题和解决方案:
- 全局包找不到,安装的命令使不是内部和外部命令

- 原因:系统路径PATH未包含npmn全局路径
✅ 修复:将全局包路径包含在系统PATH中
即配置环境变量,包括用户变量和系统变量两种,其中系统变量需要管理员权限,因此在无管理员权限的设备上只能设置用户变量
-
方式1:通过命令行快速添加(推荐)
使用 PowerShell 或 CMD(管理员权限)运行以下命令:
# 获取 npm 全局命令目录(通常是 prefix 设置的路径)
$globalPath = npm config get prefix
# 将路径添加到用户级 PATH
[Environment]::SetEnvironmentVariable(
"PATH",
[Environment]::GetEnvironmentVariable("PATH", "User") + ";$globalPath",
"User"
)
# 验证是否添加成功
echo "新 PATH: $([Environment]::GetEnvironmentVariable('PATH', 'User'))"
-
方法 2:手动添加(图形化界面)
-
打开 系统设置 → 关于 → 高级系统设置 → 环境变量。
-
在 用户变量 部分,找到
PATH,点击 编辑。
-
三、node-red的下载
1、node-red的下载及启用
在命令行中使用npm进行全局包安装,下载的位置是设置的全局包路径
npm install -g --unsafe-perm node-red #一般是安装最新版本或者nodejs适配的版本
npm install -g node-red@3.x.x #安装指定版本
若出现以下内容,说明安装成功,这是已经安装过了,再次安装的结果,上面的警告可忽略

然后再命令行中输入: node-red 即可运行 node-red

在浏览器中输入 http://127.0.0.1:1880/ 即可打开node-red进行学习开发。
2、pm2 进程管理工具
PM2 是一个 Node.js 进程管理器,使得node-red在后台自动运行,专为生产环境设计,提供以下核心能力:
-
✅ 守护进程:崩溃后自动重启应用
-
⚡ 负载均衡:多核CPU并行运行(Cluster模式)
-
📊 监控面板:实时查看日志/性能指标
# 全局安装
npm install pm2 -g
# 启动应用(默认守护进程)
pm2 start app.js
# 集群模式(启动4个实例)
pm2 start app.js -i 4
# 常用命令
pm2 list # 查看运行中进程
pm2 logs # 显示实时日志
pm2 restart app_name # 重启应用
pm2 delete all # 停止所有应用
#启用node-red
pm2 start D:\NodeDada\prefix_data\node_modules\node-red\red.js
4、学习资源
这篇文章参考了许多优秀的博主的创作,以下是很多学习资源,本文仅仅用作学习记录中,如有不足及侵权请联系删除或修改,也欢迎各位大佬批评指导。
非管理员账号设置 Windows 10 环境变量_win10无管理员权限设置环境变量-CSDN博客
node与npm版本不匹配问题_this version of npm supports the following node ve-CSDN博客
更多推荐

所有评论(0)