背景:
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 周五 晚

nodejs实践录:基于koa的简单web服务器相关推荐

  1. 一个基于webrick 的简单web服务器

    使用ruby 自带的webrick 可以非常方便地实现一个web服务器. webrick.rb 基本代码如下: #!/usr/bin/env rubyrequire 'webrick'## prepa ...

  2. 第三方登陆实践之基于OAuth的FACEBOOK Web Login(最新版)

    第三方登陆实践之基于OAuth的FACEBOOK Web Login(最新版) Facebook 登录简介 Facebook登陆实践 1.首先,登陆[Facebook开发者平台](https://de ...

  3. 基于Golang的简单web服务程序开发——CloudGo

    基于Golang的简单web服务程序开发--CloudGo[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 (1)基本要求 (2)扩展要求 三.具体 ...

  4. nodejs php web,nodejs实现的简单web服务器功能示例

    本文实例讲述了nodejs实现的简单web服务器功能.分享给大家供大家参考,具体如下: 前端js代码: $.ajax({ url:'http://192.168.0.114:3000',//服务器地址 ...

  5. 基于Go语言的Web服务器开发

    基于Go语言的Web服务器开发 本文将介绍使用Go语言来开发一个简单的Web服务器,其中将包括文件上传和下载功能. 必备条件 Go语言环境 一个文本编辑器 网络服务器 步骤一:编写server.go文 ...

  6. Socket网络编程--简单Web服务器(6)

    本来是想实现ssl连接的,但是弄了好久都不成功,就索性不做了,等以后有能力再做了.所以这一小节就是本次的最后一节了.就简单的说几个注意点. 1.加个配置文件 使用单例模式,使用一个类,该类保存一些信息 ...

  7. Poco:创建个非常简单web服务器

    C++ Poco创建个非常简单web服务器,需要先安装Poco库,配置好Poco头文件和库的路径,window和Linux下都可以编译运行,运行后在浏览器上输入网址:http://127.0.0.1: ...

  8. go语言服务器代码,Go语言开发简单web服务器

    欢迎,来自IP地址为:182.103.254.107 的朋友 Go语言由于其方便的并发通信机制以及强大的网络支持,常常被用于服务器软件的开发.本文将示例使用Go语言来开发简单的Web服务器. HTTP ...

  9. nodejs项目实战教程08——创建静态Web服务器

    nodejs项目实战教程08--创建静态Web服务器 什么是Web服务器 目标 1. 访问web服务器上面的网站 1.1 创建服务器 1.2 读取服务器上的资源文件 2. 下载web服务器上的文件 方 ...

最新文章

  1. 树形dp ---- gym101667 A(贪心 + 树形dp + 两个dp方程组维护)
  2. 关于无法显示-隐藏文件、文件夹以及操作系统文件夹
  3. sql_INSERT DELETE
  4. 计算机控制技术曹立学答案,高等学校电子与电气工程及自动化专业十二五规划教材:计算机控制技术...
  5. 快速记忆python函数-python之格式化字符串速记整理
  6. SAP ABAP实用技巧介绍系列之将unicode字符转换成中文
  7. 奇小葩讲设备树(4/5)-- Linux设备树详解(四)kernel的解析
  8. c mysql日期时间格式_mysql日期和时间类型
  9. linux光标美化包,使用 [ powerlevel10k ] 美化你的WSL (Linux)
  10. 进阶运维:SSH无缝切换远程加密
  11. 富士康跳楼事件续集,主管扬言现场把人处理掉,并表示拒不处理善后
  12. 利用HTML和浏览器16倍速刷网课
  13. 区块链开源代码什么意思_区块链可以从开源中学到什么
  14. SPSS独立样本t检验结果分析
  15. 下载谷歌瓦片地图并拼接为高清大图
  16. 思科模拟器的远程连接交换机的实现
  17. 用ps给照片添加水印
  18. 光漫反射和散射的区别
  19. 中国居民身份证号码验证
  20. 每周一荐:《盗梦空间》《不能承受的生命之轻》

热门文章

  1. NVIDIA 发布 60 余项 CUDA-X 库更新,加速量子计算和 6G 研究等
  2. 苹果发布会全汇总:最贵59999元 Mac Studio性能史上最强!iPad Air 最没诚意...
  3. 库克:iPhone决不妥协!不爽换安卓 iPhone 更有“安全性和隐私性”
  4. 小米汽车计划在2024年上半年出车:第一年卖10万台
  5. 谁给小鹏P5的勇气?
  6. 外媒:iPhone13系列将推出两种新配色:日落金和玫瑰金
  7. 小鹏汽车港股上市发售价定为每股165港元
  8. 小米向集团3904名员工授予7023万股票,最小入选员工仅24岁
  9. 国内第四大运营商中国广电成立:5G 192号段要来了!
  10. 华为Mate 40系列或推迟到10月底发布:顶配破万无悬念