zoukankan      html  css  js  c++  java
  • koa搭建简单服务

    koa搭建服务

    简介

    主要使用koa框架搭建、koa-router作为路由、koa-static作为静态资源(没有数据库)。

    安装依赖配置

    package.json文件里写入

    "dependencies": {
        "koa": "^2.3.0",
        "koa-router": "^7.2.1",
        "koa-static": "^4.0.1"
    }
    

    然后执行以下命令安装即可

    npm install
    

    项目文件目录

    如图,action文件夹是负责对所匹配到的路由进行事件处理;node_modules文件夹是依赖文件夹;router则是路由文件夹,负责对接口匹配路由;app.js是项目的启动文件负责中间件的加载和服务器的启动;package.json文件是项目的描述配置文件。

    文件代码详解

    项目根目录的app.js

    var koa = require('koa')
    var koaRouter=require('koa-router')
    var staticServer=require('koa-static')
    var path=require('path')
    var route=require('./router/router.js')  //路由匹配文件
    
    var app=new koa()  //实例化一个koa
    var router=new koaRouter()  //实例化一个koaRouter
    router=route.route(router)  //对router添加所有的匹配对象
    app.use(router.routes())  //加载router中间件
    app.use(staticServer(path.join(__dirname,'../web')))  //设置静态文件(可直接在浏览器中访问,如图片)
    app.listen(3005)  //启动一个监听端口3005的服务器
    

    router文件夹的路由文件router.js

    var handle=require('../action/action.js')  //路由处理文件
    var action=handle.action
    function route(router){  //这里的参数router是接收自app.js文件里面的koa-router实例
        router.all('/',async (ctx,next)=>{  //可以匹配所有的请求路由,ctx是koa中的上下文,包含request和response等所有信息(以封装)
            action.init(ctx,next)
        })
        return router  //return经过处理的router实例
    }
    module.exports={
        route:route
    }
    

    action文件夹的事件处理action.js

    var action={
        async init(ctx,next){
            ctx.body='hello,world'  //响应请求
        }
    }
    module.exports={
        action:action
    }
  • 相关阅读:
    matplotlib直方图学习小记
    matplotlib饼状图学习小记
    P2306 被yyh虐的mzc
    P1776 宝物筛选_NOI导刊2010提高(02)&& 多重背包二进制优化
    51NOD 1445 变色DNA
    51NOD 1459 迷宫游戏
    CODEVS 1001 舒适的路线
    P4514 上帝造题的七分钟
    1082 线段树练习 3 && 树状数组区间修改区间查询
    P4145 上帝造题的七分钟2 / 花神游历各国
  • 原文地址:https://www.cnblogs.com/zhaozhipeng/p/8080827.html
Copyright © 2011-2022 走看看