koa初步学习示例:
const http = require('http');
class Application {
constructor(){
}
use(callback){
this.callbackFn = callback;
}
listen(...args){
const app = http.createServer(this.callbackFn);
app.listen(...args);
}
}
module.exports = Application;
const koa = require('./lib/application');
const app = new koa();
app.use((req, res)=>{
res.writeHeader(500);
res.end('Hello Simple Koa!!!!!!!');
});
app.listen(3000, ()=>{
console.log('Simple Koa server is running...');
});
nodemon: 监听文件变化,自动重启服务。
{
"name": "koa",
"version": "1.0.0",
"description": "",
"main": "main-flow.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"server": "nodemon http-demo.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"koa": "^2.11.0"
},
"devDependencies": {
"nodemon": "^2.0.4"
}
}
请求处理流程
context对象解读
request对象解读
response对象解读
koa静态资源:
koa-static: npm i koa-static
const koa = require('koa');
const static = require('koa-static');
const app = new koa();
app.use(static(__dirname + '/public/'));
app.listen(3000);