1.创建vue3-admin-server文件夹
cd vue3-admin-server
npm init -y
2.安装依赖
npm i @koa/cors @koa/router koa koa-json koa-bodyparser koa-logger
安装ts相关包
npm i -D @types/koa @types/koa-bodyparser @types/koa-json @types/koa-logger @types/koa__cors @types/koa__router typescript
安装node工具
npm i ts-node nodemon -D
3.创建入口文件
src/app.ts
import Koa from 'koa'
import cors from '@koa/cors'
import logger from 'koa-logger'
import bodyparser from 'koa-bodyparser'
// routes
import authRoutes from './routes/auth'
// koa应用实例
const app = new Koa()
// middlewares
app.use(cors()) // 支持跨域
app.use(bodyparser({ // 解析请求体
enableTypes: ['json', 'form', 'text']
}))
app.use(logger()) // 开发日志中间件
// routes
// 用户验证路由(登录 注册)
app.use(authRoutes.routes()).use(authRoutes.allowedMethods())
// listen
const port = process.env.PORT || '3003'
app.listen(port, () => {
console.log(`server listening on ${port}`)
})
app.on('error', (err) =>
console.error('server error', err)
)
4.创建routes管理路由
src/routes是专门来存放router
src/routes/auth.ts
import Router from '@koa/router'
const router = new Router({
prefix: '/auth'
})
router.get('/test', async ctx => {
ctx.body = 'auth test router'
})
export default router
5.配置npm script
{
...
"scripts": {
"serve": "nodemon -i ./node_modules/ --exec \"ts-node\" src/app.ts"
}
}
6.运行
npm run serve
本节参考源码
https://gitee.com/brolly/vue3-admin-server/commit/826495934b7cef9ab044359b8da261092409f6ed