likes
comments
collection
share

五分钟带你利用 nodejs koa框架搭建后端开发环境

作者站长头像
站长
· 阅读数 46

项目初始化

执行两条命令。

npm init -y     
npm install koa 

目录结构

初始化完后,先自己手动创建以下目录

五分钟带你利用 nodejs koa框架搭建后端开发环境

启动项目

有些东西需要写入到环境变量 我安装了 dotenv

npm install dotenv

main.js文件中的内容

// main.js
const app = require('./app')
const config = require('./app/config')

app.listen(config.APP_PORT, () => {
  console.log(`服务器在${config.APP_PORT}启动成功~`)
})

app/index.js中的内容

// 入口文件
// app/index.js
const Koa = require("koa")

const app = new Koa()

module.exports = app

处理环境变量,把变量写入到环境中

// config.js
const dotenv = require("dotenv")

dotenv.config()

module.exports = {
  APP_PORT
} = process.env

.env文件

APP_PORT=8000

使用热更新方便开发 通过 ctrl + s 就能更新内容 安装 nodemon

npm install nodemon -D  

用nodemon启动项目,在package.json中添加脚本

"start": "nodemon ./src/main.js"

执行npm start命令,项目就启动成功啦!

五分钟带你利用 nodejs koa框架搭建后端开发环境

写一个简单的接口

我需要用到 koa-router来帮我管理路由

npm install koa-router

1.在router文件夹中创建user.router.js文件

const Router = require("koa-router") // 引入依赖

const userRouter = new Router({ prefix: "/user" }) // 设置接口前缀

const { create } = require('../controller/user.controller') // 引入中间件

userRouter.get('/', create) // 设置接口路径,以及中间件

module.exports = userRouter // 导出

2.在controller文件夹中创建与router对应的文件user.controller.js

class UserController { // 创建类
  async create (ctx, next) { // 中间件
    console.log("请求成功")
    ctx.body = "请求成功" // 请求响应
  }
}

module.exports = new UserController()

3.接口的路径和处理逻辑已经写好,接下来就是加载路由了 在app文件夹的index.js文件中加载(第一种方法)

const Koa = require('koa')

const userRouter = require('../router/user.router') // 引入路由

const app = new Koa()

// 1.加载路由的第一种方法
app.use(userRouter.routes()) // 加载路由
app.use(userRouter.allowedMethods()) // 请求方法验证

module.exports = app

4.上面这种方法明显有个缺陷,一个项目会接口可能有几十个或者上百个,每个接口都要写上两行代码的话,这代码量就会很多,所以,接下来就用另一种方法来加载路由

在router文件夹下创建index.js文件专门用来加载路由

将会用文件遍历的方法来加载每一个路由

const fs = require('fs')

const useRoutes = (app) => {
  fs.readdirSync(__dirname).forEach(file => {
    if (file === 'index.js') return // index.js文件不需要
    const router = require(`./${file}`)
    app.use(router.routes())
    app.use(router.allowedMethods())
  })
}

module.exports = useRoutes

采用这种方法,可以有效减少代码量,而且不用再自己手动去加载路由了 接下来只要在入口文件index.js中引入这个文件即可

const Koa = require("koa")

const app = new Koa()

const useRoutes = require('../router') // 引入router下的index.js文件

useRoutes(app) // 向这个路由加载文件传入app

module.exports = app

5.测试接口

五分钟带你利用 nodejs koa框架搭建后端开发环境

很好,一个简单的接口就完成了!

写在最后

至此,文章就分享完毕了,欢迎在评论区交流。 如果文章对你有所帮助,不要忘了点上宝贵的一赞! 听说点赞的人运气都不差,相信来年第一个升职加薪的一定是你~

转载自:https://juejin.cn/post/7091309467869921288
评论
请登录