Node-RED使用指南:23:嵌入Node.js应用
发布日期:2021-06-30 20:18:18
浏览次数:2
分类:技术文章
本文共 3467 字,大约阅读时间需要 11 分钟。
Node-RED可以独立运行,也可以直接嵌入到Node.js应用中,这篇文章以具体的示例来进行说明。环境说明
- 操作系统
liumiaocn:~ liumiao$ sw_versProductName: Mac OS XProductVersion: 10.15.2BuildVersion: 19C57liumiaocn:~ liumiao$
- node版本
liumiaocn:~ liumiao$ node -vv10.15.3liumiaocn:~ liumiao$ npm -v6.4.1liumiaocn:~ liumiao$
- Node-RED版本
liumiaocn:~ liumiao$ node-red -hNode-RED v1.0.4Usage: node-red [-v] [-?] [--settings settings.js] [--userDir DIR] [--port PORT] [--title TITLE] [--safe] [flows.json]Options: -p, --port PORT port to listen on -s, --settings FILE use specified settings file --title TITLE process window title -u, --userDir DIR use specified user directory -v, --verbose enable verbose output --safe enable safe mode -?, --help show this helpDocumentation can be found at http://nodered.orgliumiaocn:~ liumiao$
代码准备
准备如下基于express的示例代码,将本地的node-red嵌入到此应用之中
liumiaocn:nodered liumiao$ lssample.jsliumiaocn:nodered liumiao$ cat sample.js var http = require('http');var express = require("express");var RED = require("node-red");// Create an Express appvar app = express();// Add a simple route for static content served from 'public'app.use("/",express.static("public"));// Create a servervar server = http.createServer(app);// Create the settings object - see default settings.js file for other optionsvar settings = { httpAdminRoot:"/red", httpNodeRoot: "/api", userDir:"/Users/liumiao/.node-red", functionGlobalContext: { } // enables global context};// Initialise the runtime with a server and settingsRED.init(server,settings);// Serve the editor UI from /redapp.use(settings.httpAdminRoot,RED.httpAdmin);// Serve the http nodes UI from /apiapp.use(settings.httpNodeRoot,RED.httpNode);server.listen(8000);// Start the runtimeRED.start();liumiaocn:nodered liumiao$
注意事项:/Users/liumiao/.node-red请修改为自己的本地Node-RED的相应目录。
依赖准备
使用如下命令安装所需依赖
执行命令:npm install express node-red
liumiaocn:nodered liumiao$ npm install express node-red...省略+ express@4.17.1+ node-red@1.0.4updated 2 packages in 3.505sliumiaocn:nodered liumiao$
启动服务
使用如下命令启动服务,因为此Node.js服务本身没有添加功能,所以看起来似乎就是Node-RED,但是我们知道这是我们使用node在8000启动的新的服务
liumiaocn:nodered liumiao$ node sample.js 11 Mar 06:21:28 - [info] Welcome to Node-RED===================11 Mar 06:21:28 - [info] Node-RED version: v1.0.411 Mar 06:21:28 - [info] Node.js version: v10.15.311 Mar 06:21:28 - [info] Darwin 19.2.0 x64 LE11 Mar 06:21:28 - [info] Loading palette nodes11 Mar 06:21:28 - [info] Context store : 'default' [module=memory]11 Mar 06:21:28 - [info] User directory : /Users/liumiao/.node-red11 Mar 06:21:28 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable11 Mar 06:21:28 - [info] Flows file : /Users/liumiao/.node-red/flows_liumiaocn.json11 Mar 06:21:28 - [warn] ---------------------------------------------------------------------Your flow credentials file is encrypted using a system-generated key.If the system-generated key is lost for any reason, your credentialsfile will not be recoverable, you will have to delete it and re-enteryour credentials.You should set your own key using the 'credentialSecret' option inyour settings file. Node-RED will then re-encrypt your credentialsfile using your chosen key the next time you deploy a change.---------------------------------------------------------------------11 Mar 06:21:28 - [info] Starting flows11 Mar 06:21:28 - [info] Started flows
使用/red的URL即可在8000端口确认在此Node.js应用中嵌入的Node-RED功能了
转载地址:https://liumiaocn.blog.csdn.net/article/details/104788664 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月11日 04时22分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
蚂蚁集团俞仁杰:金融级云原生之多活容器集群高可用建设实践
2019-04-30
骆俊武:编程高手是如何练成的?
2019-04-30
惊了!同事竟然在代码里“下毒”
2019-04-30
同程旅行王晓波:如何改变 Redis 用不好的误区
2019-04-30
成为架构师,必须掌握10种常见的架构模式!
2019-04-30
抢疯了!字节、美团《人人都要学的架构思维》完整版PDF开放下载!
2019-04-30
黄理:快手基于 RocketMQ 的在线消息系统建设实践
2019-04-30
女神节快乐!世界上第一位程序员就是女神
2019-04-30
大厂面试官必问的 MySQL 索引调优等问题,看这篇就够了
2019-04-30
哪吒:猪八戒十年DevOps演进之路
2019-04-30
技术创业“八十一难”?16位大咖教您“三十六计”!
2019-04-30
美团技术总结:Java中9种常见的CMS GC问题分析与解决
2019-04-30
万字好文,电商秒杀系统架构分析与实战!
2019-04-30
中台实践:新汽车行业的业务、技术和平台转型
2019-04-30
领域驱动设计(DDD):领域和子域
2019-04-30
高可用:异地多活
2019-04-30
技术转管理?这些“坑”你要绕道走
2019-04-30
领域驱动设计(DDD)前夜:面向对象思想
2019-04-30
我们公司放弃了微服务,重回单体架构
2019-04-30
温昱:架构实践全景图
2019-04-30