背景:
nodejs搭建web服务是一件十分简单的事情,支持的框架多,有关的库也多,不像嵌入式那般繁琐。本文提出一种利用koa搭建web服务的方案,适用简单的数据展示和信息查询,文后有源码地址,可直接使用。如果需要更复杂的,如登陆、权限管理,等,则要其它web管理系统。
1、实现思路
- 使用koa提供web服务。
- 使用koa-router提供路由功能。在router中实现post或get的请求,地址与前端约定好。
- 使用koa-static指定web的主目录。
- 前端使用bootstrap+jquery搭建页面,另外使用echarts展示图表。
2、模块/文件说明
- public目录:css、js文件,以及首面和子页面的html、js文件。html用于前端展示,js用于与后台的koa通信。如果js简单,可与html整合到一个文件,本文件分开实现。本着简洁原则,页面头部只包括标题和导航信息,尾部包含作者信息。由html转成js,以便多个文件共同使用。不同页面,使用不同html+js实现。
- main.js:主函数,启动web服务,指定web主页面。
- router.js:与前端通信模块,实现post或get请求,需要与前端约定命令、通信数据格式。
3、使用
首先安装依赖库:npm i
。
然后运行:node main.js
,默认监听9000端口。也可以使用pm2 reload ecosystem.config.js
。
使用浏览器访问http://127.0.0.1:9000
即可访问页面。
4、应用扩展
可在本文方案基础上进行扩展:
- 显示pm2进程信息。
- 使用echarts展示图表,如历史记录,统计报表。本文数据固定写在代码中,实际上数据应该在redis或mysql中。
- 显示更多的系统信息。
- 根据实际需要添加子页面,内容自行确定(本文不展开)。
5、效果图示
首页:
统计页:
6、源码
本文涉及源码在作者的github的nodejs_koaweb仓库,可自由任意使用。
李迟 2019.6.14 周五 晚