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
    }
  • 相关阅读:
    新建安卓项目后,manifest.xml中会出现大段的黄色警告
    TextView设置setCompoundDrawables不生效解决办法
    数据结构->队列->顺序循环队列ADT代码
    数据结构->栈->顺序栈ADT代码
    JAVA环境变量的配置
    计算机科学的范围-----18.12.08
    字符串复制
    扔鸡蛋问题和找零钱问题
    动态规划
    最小二乘法
  • 原文地址:https://www.cnblogs.com/zhaozhipeng/p/8080827.html
Copyright © 2011-2022 走看看