koa框架搭建最简单的后台服务器

在这java横行时代,其他的一些后台的框架就显得有些弱小无助,但是也都不会影响一个好用优秀的框架的存在

这篇文章主要是给小伙伴们介绍一下koa的使用和个人的见解,欢迎各路大神指点指点。

进入主题:首先koa是一个基于NodeJS的一款框架,相信一些前端的小伙伴对NodeJS都不陌生了,我在这里也就不过多介绍了。koa框架有一个很大的特点,就是洋葱模型。大家可以先了大概的了解一下下面的洋葱模型图,初次接触的小伙伴可能有点不理解,但是没关系,在使用的过程中就会慢慢的体会到这洋葱模型的巧妙之处。
koa洋葱模型示例图
----开始搭建koa服务器----

1//在node环境加载koa框架以及一些中间件
  //(npm可以一次性下载多个包的:npm i <name> <name> <name>)
   npm i koa          //koa框架
   npm i koa-router   //koa路由模块
   npm i koa-mount	  //koa挂载页面模块
   npm i koa-static   //koa挂载页面模块
   npm i koa-body	  //koa解析请求体的模块
2//创建一个入口文件app.js
const Koa = require('koa')
const Router = require('koa-router') // 路由模块
const koaBody = require('koa-body') //请求体模块
const mount = require('koa-mount') // 挂载页面等
const Static = require('koa-static') // 挂载页面等

const app = new Koa() //初始化koa

// 挂载解析body请求体的中间件
app.use(koaBody({
	multipart: true, // 支持文件上传
	  strict:false,//设为false
	  encoding:'utf-8',
	  formidable:{
	    // uploadDir:path.join(__dirname,'public/upload/'), // 设置文件上传目录
	    keepExtensions: true,    // 保持文件的后缀
	    maxFieldsSize:2 * 1024 * 1024, // 文件上传大小
  }
}))

// 初始化koa路由模块
const admin = new Router()

// 以 登录 为例子,接收到得参数是username,password
admin.post('/login',async (ctx)=>{
	// 这里假设数据库中的数据
	let sqlData = {username:'admin', password:'123456'}
	
	// 接收post请求中的参数,这里的请求中参数会经过koa-body模块的处理,ctx.request.body是一个对象
	let {username, password}= ctx.request.body;

	// 业务逻辑判断
	if( username === sqlData.username && password === sqlData.password ){
		ctx.body = '登录成功!'
	}else{
		ctx.body = '用户名或密码错误!'
	}
})

// 挂载 各类路由模块
app.use(admin.routes())
   .use(admin.allwoedMethods())

// 监听4000端口,也可以监听ip地址,如果不设置地址,就是主机的ip地址
app.listen(4000,()=>{
	console.log('listen 4000')
})
3//创建完app.js入口文件之后,就可以运行这个简单的服务器了。
   //可以用postman测试一下post方法 ip地址:4000/login
   node app.js

上面是最简单的服务器,有很多可以优化的地方,可以更规范,更加容易管理。下面是我的个人一个规范,可以大家一起互相学习一下,欢迎各路大神指点。

这里是gitee仓库代码,点击进入,可自行下载!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值