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, ...
随机推荐
- MyBatis(2):CRUD操作
编写接口 import com.shandx.pojo.User; import java.util.List; public interface UserMapper { <span clas ...
- SpringCloud微服务-Eureka服务注册与发现
一. Eureka 是什么? Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移.服务注册与发现对微服务 ...
- java 多线程的状态迁移 常用线程方法分析
一.线程的各个状态 图中的线程状态(Thread.Stat 中定义的Enum 名)NEW.RUNNABLE .TERMINATED.WAITING.TIMED_WAITING 和BLOCKED 都能够 ...
- 沉淀vue相关知识(主要还是个人积累用)
路由懒加载的配置: const Home= () =>import('../components/Home') //使用ES6中的路由懒加载的方式 const About= () =>im ...
- 30个类手写Spring核心原理之AOP代码织入(5)
本文节选自<Spring 5核心原理> 前面我们已经完成了Spring IoC.DI.MVC三大核心模块的功能,并保证了功能可用.接下来要完成Spring的另一个核心模块-AOP,这也是最 ...
- jarvisoj_fm(格式字符串)
我又回来了,前几天被timeout问题折磨,还是放弃了 拿到题目还是file一下 看到时32位的程序,于是把程序放入ida*32中 可以看到当x等于4的时候可以拿到shell,上面的printf(bu ...
- 筛选(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 [视图]选项卡下有个[筛选器],筛选功能就在里面实现. 比如按[里程碑]筛选. 按[日期范围],再指定个起始日期和结束日期 ...
- 安全防御之防xss、SQL注入、与CSRF攻击
XSS攻击 个人理解,项目中最普通的就是通过输入框表单,提交js代码,进行攻击例如在输入框中提交 <script>alert("我是xss攻击");</scrip ...
- mapbox获取各种经纬度
点击地图即可获取经纬度,也可以手动输入经纬度来换算 在线查看运行效果 实现方法 mapbox中通过地图点击事件来获取到坐标,然后转换为其他的坐标系并输出在屏幕上即可 获取坐标 方法很简单,给地图添加一 ...
- .net 6 (.net core) 发布到linux docker中
第一步:VMware 安装 虚拟机Linux系统,本文以 CentOS 为例 .