如何使用koa搭建后台

623 阅读1分钟

引言

1.什么是koa koa是由 Express原班人马打造的,是现在比较流行的基于Node.js平台的web开发框架,Koa 把 Express 中内置的 router、view 等功能都移除了,使得框架本身更轻量,而且扩展性很强。使用koa编写web应用,可以免除重复繁琐的回调函数。

快速开始

1.安装并启动koa

   $ npm init -y
   //安装koa命令
   $ npm i koa --save
   //安装koa-router命令
   $ npm i koa-router --save
  
   //新建app.js文件
   const Koa = require('koa');
   const Router = require('koa-router');
   const app = new Koa();
   const router = new Router();
   router.get('/',async(ctx)=>{
      ctx.body = {
        msg:'hello world'
      }
  })
  app.use(router.routes())
  app.listen(3000)
  console.log('服务启动')

文件目录 1676861215993.jpg 用node运行app.js 1676861339317.jpg 这样我们就简单开启了一个koa项目

2.koa-router模块化

因为koa不支持es6的模块化导出,为了方便后续文件的导入、导出,我们先新建一个.babelrc 添加如下代码

{
    "presets": [
      ["@babel/env", {
        "targets": {
          "node": "current"
        }
      }]
    ],
    "plugins": [
      "@babel/plugin-proposal-class-properties",
      "@babel/plugin-proposal-object-rest-spread"
    ]
  }

然后安装babel插件

npm install @babel/core @babel/cli @babel/preset-env @babel/node -D

然后在packge.json添加命令

123.jpg 然后通过npm run dev启动项目

新建一个名为router的文件夹,在其中新建index.js user.js文件

 //user.js
import Router from "koa-router";
export const user = new Router();
user.get('/login',async(ctx,next)=>{
    console.log(ctx.query.userName)
    ctx.body= {
        code:'200',
        msg:'登录成功'
    }
})
// index.js
  import Router from 'koa-router'
  import {user} from './user';
  export const router = new Router()
  router.use('/api',user.routes(),user.allowedMethods())
  
  //app.js
  import Koa from 'koa';
  import {router} from './router/index';
  const app = new Koa();
  router.get('/',async(ctx)=>{
    ctx.body = {
        msg:'hello world'
    }

  })
  app.use(router.routes(), router.allowedMethods())
  app.listen(3000)
  console.log('服务启动')

99999.jpg

22222222222222.jpg

为了在修改文件后不用频繁的重启项目,我们添加nodemon插件

npm install nodemon --save-dev

然后修改packge.json的dev命令

3434343.jpg