koa初步学习示例:

  1. const http = require('http');
  2. class Application {
  3. constructor(){
  4. }
  5. use(callback){
  6. this.callbackFn = callback;
  7. }
  8. listen(...args){
  9. const app = http.createServer(this.callbackFn);
  10. app.listen(...args);
  11. }
  12. }
  13. module.exports = Application;
  1. const koa = require('./lib/application');
  2. const app = new koa();
  3. app.use((req, res)=>{
  4. res.writeHeader(500);
  5. res.end('Hello Simple Koa!!!!!!!');
  6. });
  7. app.listen(3000, ()=>{
  8. console.log('Simple Koa server is running...');
  9. });

nodemon: 监听文件变化,自动重启服务。

  1. {
  2. "name": "koa",
  3. "version": "1.0.0",
  4. "description": "",
  5. "main": "main-flow.js",
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1",
  8. "server": "nodemon http-demo.js"
  9. },
  10. "keywords": [],
  11. "author": "",
  12. "license": "ISC",
  13. "dependencies": {
  14. "koa": "^2.11.0"
  15. },
  16. "devDependencies": {
  17. "nodemon": "^2.0.4"
  18. }
  19. }

请求处理流程

context对象解读
request对象解读
response对象解读

koa静态资源:
koa-static: npm i koa-static

  1. const koa = require('koa');
  2. const static = require('koa-static');
  3. const app = new koa();
  4. app.use(static(__dirname + '/public/'));
  5. app.listen(3000);

中间件层错误处理

框架层错误处理