nodejs创建一个简单的web服务
这是一个突如其来的想法,毕竟做web服务的框架那么多,为什么要选择nodejs,因为玩前端时,偶尔想调用接口获取数据,而不想关注业务逻辑,只是想获取数据,使用java或者.net每次修改更新后还要打包,干嘛有点麻烦,于是想到了nodejs
安装nodejs
如果是windows环境,可以参考:https://www.cnblogs.com/shanfeng1000/p/nodejs.html
如果是linux环境,以Ubuntu为例,先前往官网下载nodejs:http://nodejs.cn/download/

可以在windows下下载,然后发送到linux上去,之后就开始我们的命令行了
# 我下载得到的是v14.6.0版本,文件名称为node-v14.6.0-linux-x64.tar.xz
# 进入压缩文件目录,解压文件,在当前目录下得到node-v14.6.0-linux-x64目录
sudo tar -xvf node-v14.6.0-linux-x64.tar.xz
# 可以将node-v14.6.0-linux-x64重命名,然后放到自己设置的目录,比如我这里放到/opt目录下
sudo mv node-v14.6.0-linux-x64 /opt/nodejs
# 创建软连接,下面的/opt/nodejs要换成自己的
sudo ln -s /opt/nodejs/bin/node /usr/local/bin/node
# 检查是否成功,如果输出版本号,则表示成功了
node -v
# 使用apt安装npm,npm是nodejs的包管理工具,后面也会用到
sudo apt install npm
# 验证是否安装成功,如果输出版本号,则表示成功
npm -v
简单的Web服务包
先下载:https://pan.baidu.com/s/11u_JbZIXKAy7IOcahgCVfw 提取码: 3nra
下载好之后,解压出来,里面其实只有6个简单的文件:

controller.js:主要作为控制器,里面就两个对象:get和post,分别对应get和post请求,对象的属性名为路由,属性值是函数,作为处理程序,这里直接输出接收到的参数
install.bat和install.sh:分别是windows平台和linux平台程序的依赖包安装脚本
run.bat和run.sh:分别是windows平台和linux平台下的启动程序
server.js:脚本执行文件,可以在文件最后面修改端口号,也可以修改添加自己的一些逻辑
本程序主要依赖了5个组件:
nodemon:热启动,当保存修改项目中的文件后,程序会自动重新加载并重启,无需自己手动操作。
koa:nodejs的一个很好用的web框架,感兴趣的可以百度一下
koa-router:koa搭建web应用时所需要的的路由中间件
koa-static:koa搭建web应用的静态文件目录中间件,可以设置某个目录是静态目录,可以直接使用http访问静态目录中的资源
koa=body:koa的web应用处理post请求是需要用到的中间件
在windows平台下,只需双击run.sh运行,程序就可以启动了,如果是第一次启动,会自动安装所需要的的依赖包,安装完成之后程序会自动启动

然后在浏览器访问http://localhost:3000/get?a=1就可以访问看看效果了
另外,第一次启动后,会生成一些文件:

package.json和package-lock.json是包的配置信息,node_modules是包依赖模块的存放目录。
statics是启动时创建的静态目录,可以将静态文件放在这个目录里面,比如有一个名为123.jpg的图片,那么可以使用 http://localhost:3000/123.jpg 就可以访问到了。
在linux平台,一次运行需要使用管理员权限运行,因为第一次运行会安装一些必要的组件:
# 运行脚本
sudo sh run.sh
运行之后,如下图:

如果需要增加接口,只需要修改controller.js文件即可
如果需要使用静态文件,只需要把文件放到statics目录下即可
nodejs创建一个简单的web服务的更多相关文章
- node创建一个简单的web服务
本文将如何用node创建一个简单的web服务,过程也很简单呢~ 开始之前要先安装node.js 1.创建一个最简单的服务 // server.js const http = require('http ...
- linux系统下开启一个简单的web服务
linux 下开启一个简单的web服务: 首先需要linux下安装nodejs 然后创建一个test.js: vi test.js var http =require("http&quo ...
- 利用 nodeJS 搭建一个简单的Web服务器(转)
下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...
- IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程
一.部署Tomcat 二.创建一个简单的Web工程 2.1创建一个新工程 创建一个新工程 设置JDK及选择Web Application (创建的是Web工程) 点击Next,选择工作空间,起个工程名 ...
- django创建一个简单的web站点
一.新建project 使用Pycharm,File->New Project…,选择Django,给project命名 (project不能用test命名) 新建的project目录如下: ...
- Docker容器技术-创建一个简单的Web应用
一.创建一个简单的Web应用 1.identicon 基于某个值而自动产生的图像,这个值是IP地址或用户名的散列值. 用途: 通过计算用户名或IP地址的散列值,在网站上提供用于识别用户的图像,以及自动 ...
- Symfony2之创建一个简单的web应用
Symfony2——创建bundle bundle就像插件或者一个功能齐全的应用,我们在应用层上开发的应用的所有代码,包括:PHP文件.配置文件.图片.css文件.js文件等都会包含在bu ...
- 使用 CodeIgniter 创建一个简单的 Web 站点
原文:使用 CodeIgniter 创建一个简单的 Web 站点 参考源自: http://www.ibm.com/developerworks/cn/web/wa-codeigniter/index ...
- SharePoint 创建一个简单的Web Part 部分
SharePoint 创建一个简单的Web Part 部分 标准Web零件有时会很强大,运行多个功能的能力. 本文介绍了如何使用Visual Studio 创建一个简单的Web部分. 1. 打开VS, ...
随机推荐
- Spring Boot下使用拦截器
Spring Boot对于原来在配置文件配置的内容,现在全部体现在一个类中,该类需要继承自WebMvcConfigurationSupport类,并使用@Configuration进行注解,表示该类为 ...
- js--生成器总结
前言 生成器gengrator是es6 新增的函数功能,它允许你定义一个包含自有迭代算法的函数, 同时它可以自动维护自己的状态. 本文来总结一下JavaScript 中生成器的相关知识点. 正文 1. ...
- 关于UML类图方面的问题(连载)
UML类图符号:类中属性的可见性主要包括公有(public).私有(Private)和受保护(Protected).在UML中,公有类型的用"+"表达,私有类型用"-&q ...
- vs2019+windows服务+nancy+打包
一.创建windows服务 二.nuget包添加nancy 1.nancy 2.0.0和Nancy.Hosting.Self 2.0.0插件 2.项目添加文件夹Modules,在Modules文件夹 ...
- M语言中的引用(Power Query 之 M 语言)
名词 查询表 函数 行{}/列[] 单元格 表(Table) 列表(List) 记录(Record) 引用[查询表] =查询表表名 引用[应用的步骤] =步骤名 引用表中的[单元格](深化) =表{行 ...
- 深度解析HashMap
讲讲HashMap? 源码解析 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { //辅助 ...
- 请注意JS方法,方法同名,参数个数不一样是不能区分方法的,
请注意JS方法,方法同名,参数个数不一样是不能区分方法的, 所以要区分方法,只能利用方法名不同来区分,而不能利用参数个数与参数类型来分.
- react 结合gitte 创建项目(详情步骤)
创建项目第一步 基本搭建 在创建之前,需要有一个git 仓库,我们要把项目搭建到git 中 目录介绍 cd 到某个盘 mkdir workspace 创建workspace文件夹 cd works ...
- 重学c#系列——datetime 和 datetimeoffset[二十一]
前言 简单介绍一下datetime和 datetimeoffset. 正文 了解一个国家的文化,就要了解一个国家的历史. 要了解datetimeoffset,那么很有必要了解一下datetime. 表 ...
- Kafka Eagle分布式模式
1.概述 最近有同学留言,Kafka Eagle的分布式模式功能怎么使用,如何部署安装?今天笔者就为大家来详细介绍一下Kafka Eagle的分布式模式功能的安装和使用. 2.内容 首先,这里我们需要 ...