nodejs实践录:基于koa的简单web服务器

背景:
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、源码

本文涉及源码在作者的,可自由任意使用。

李迟 2019.6.14 周五 晚