1.如何安装
准备
1. 首先找到node-red 的安装路径:
node-red 一般是全局安装,使用 npm config get prefix 查看 npm 全局安装路径(使用 npm config set prefix "<path>" 设置全局安装路径);
PS D:\Program Files\nodejs\node_global> npm config get prefix
D:\Program Files\nodejs\node_global
2. 完整且正确的本地开发节点文件:
提示:本地节点如何开发-->https://www.jianshu.com/p/e803dd1a624b
如下所示为我个人开发的 node-red 节点:
D:\messageflow\nodetest\104and101 的目录
2022/08/22 15:37 <DIR> 101to104
2022/08/22 15:37 <DIR> 104to101
2022/08/22 15:37 <DIR> common
2022/08/22 14:20 3,554 cs104_server.js
2022/08/22 15:37 <DIR> iec101
2022/08/22 15:37 <DIR> iec104
2022/08/22 17:44 5,689 main.html 必须必须必须
2022/08/23 14:14 514 main.js 必须必须必须
2022/08/22 17:44 262 node.js
2022/08/22 15:37 <DIR> node_modules
2022/08/23 10:49 847,245 node_modules.zip
2022/08/22 17:21 9,186 package-lock.json
2022/08/22 17:44 405 package.json 必须必须必须
安装[方法一]
1. 进入 全局安装路径 node_global 中,按 shift+点击,打开 powershell 窗口
2. 执行如下命令(节点目录不要带有特殊字符!!)
# --no-save
# npm 默认将模块作为依赖项目添加到 package.json 文件中,
# 使用了 no-save 后 package.json 中将不带有任何标志。
PS D:\Program Files\nodejs\node_global> npm install D:\messageflow\nodetest\104and101\ --no-save
added 1 package in 3s
3. 重启 node-red,打开 node-red 主页,在 设置--> 控制板 --> 节点中查看有没有安装的节点。
(没有的话打开 f12 调试窗口,看 控制台有无报错;或者点击节点看有无报错),
或者 npm ls 查看安装成功与否。
安装[方法二]
-
先找到所有 node-red 节点的安装目录:
页面设置 --> 节点管理 --> 安装 --> 随机安装一个节点(这里安装 nbr-clipboard,名字复杂,不会重复,容易找)。
-
全局搜索 nbr-clipboard 路径
-
进入该路径,将
自定义节点
重命名为node-red-xxx
并复制进去。C:\Users\minge\.node-red\node_modules 的目录 2022/08/26 16:50 <DIR> nbr-clipboard 2022/08/26 16:50 <DIR> node-red-iec104and101 // 这是我们自定义的
-
重启 node-red ,可以正常使用节点。
注意:
默认的 node-red 节点安装目录一般是 “C:\Users\minge.node-red\node_modules”。
此方法有一个缺点,卸载不掉。如果想要更新节点可以直接覆盖原节点文件。
2.如何卸载
# 查看已安装的节点(全局)
PS D:\Program Files\nodejs\node_global> npm ls
node_global@ D:\Program Files\nodejs\node_global
+-- node-red-iec104and101@1.0.0 extraneous -> .\..\..\..\messageflow\nodetest\104and101
`-- node-red@3.0.2
# 卸载 npm uninstall -g node-red-iec104and101
PS D:\Program Files\nodejs\node_global> npm uninstall -g node-red-iec104and101
removed 1 package, and audited 1 package in 584ms
found 0 vulnerabilities
# 检验:再次查看==>已经找不到自定义节点的依赖;
# 出现问题:执行 npm ls 命令查看是否删除依赖,报错。
# 解决问题:删除 node_global 下的 package.json 中的node-red-iec104and101 依赖既可解决 npm ls 报错的问题。
# 报错原因:出现这种情况的原因是安装的时候没有加 --no-save 选项
PS D:\Program Files\nodejs\node_global> npm ls
node_global@ D:\Program Files\nodejs\node_global
+-- UNMET DEPENDENCY node-red-iec104and101@file:../../../messageflow/nodetest/104and101
`-- node-red@3.0.2
npm ERR! code ELSPROBLEMS
npm ERR! missing: node-red-iec104and101@file:../../../messageflow/nodetest/104and101, required by node_global@
npm ERR! A complete log of this run can be found in:
npm ERR! D:\Program Files\nodejs\node_cache\_logs\2022-08-23T06_24_11_759Z-debug-0.log
PS D:\Program Files\nodejs\node_global>
# 删除 package.json 后正常执行。
PS D:\Program Files\nodejs\node_global> npm ls
node_global@ D:\Program Files\nodejs\node_global
`-- node-red@3.0.2
3.如何在运行页打印日志
console.log();
console.error();
4.如何查看本地 node-red 全局安装在何处
npm config get prefix
5.报错
因为 function(RED) 中的 RED 写成了 MSGFOW,RED 好像不可自定义。
6.- -save 解释
--no-save 当你不带任何安装标志时,npm 默认将模块作为依赖项目添加到package.json文件中。如果你想避免这样,你可以使用no-save,这样安装
--save-prod 安装一些包到生产环境依赖下面。
--save-dev 开发环境下的依赖安装,你可以用-D代替–save-dev。