koa2开发后端项目(一):项目搭建 及 中间件介绍

一,使用koa脚手架创建项目框架

npm install -g koa-generator -g

koa my_project

二,安装 cross-env,生成环境配置

// package.json scripts 配置
"dev": "cross-env NODE_ENV=dev ./node_modules/.bin/nodemon bin/www",
"prd": "cross-env NODE_ENV=production pm2 start bin/www",

三,根文件 app.js 文件详解

const Koa = require('koa')
const app = new Koa()
//前端模板 const views
= require('koa-views') const json = require('koa-json') const onerror = require('koa-onerror') // 处理req.body const bodyparser = require('koa-bodyparser') // 日志处理 const logger = require('koa-logger') // 处理路由 const user = require('./routes/user') const blog = require('./routes/blog') // error handler onerror(app) // middlewares app.use(bodyparser({ enableTypes:['json', 'form', 'text'] })) app.use(json()) app.use(logger()) app.use(require('koa-static')(__dirname + '/public')) app.use(views(__dirname + '/views', { extension: 'pug' })) // logger app.use(async (ctx, next) => { const start = new Date() await next() const ms = new Date() - start console.log(`${ctx.method} ${ctx.url} - ${ms}ms`) }) // routes app.use(user.routes(), user.allowedMethods()) app.use(blog.routes(), blog.allowedMethods()) // error-handling app.on('error', (err, ctx) => { console.error('server error', err, ctx) }); module.exports = app

 

 

posted @ 2020-08-31 10:46  毛栗的demo  阅读(401)  评论(0)    收藏  举报