当前位置: 首页 > 后端技术 > Node.js

学习koa1.x

时间:2023-04-03 15:38:30 Node.js

定义了koaframeworkweb前端开发框架,是一个基于es6语法的web端开发框架。类似于express框架,可以快速开发服务,方便快捷。API手册http://koa.bootcss.com/开发实战篇首先创建package.json,使用1.xnpminit版本#依赖于"dependencies":{"koa":"^1.1.2","koa-bodyparser":"^2.0.1","koa-hbs":"^0.7.0","koa-json":"^1.1.1","koa-logger":"^1.3.0","koa-onerror":"^1.2.1","koa-router":"^5.3.0","koa-static":"^1.5.2","koa-views":"^3.1.0",}其次,创建app.jsvarkoa=require('koa');varapp=koa();//logger中间件app.use(function*(next){varstart=newDate;yieldnext;varms=newDate-start;console.log('%s%s-%s',this.method,this.url,ms);});//路由器路由app.use(function*(){this.body='HelloWorld';});//端口端口app.listen(3000);启动完成!知识点Context(上下文)将请求和响应对象封装在一个单独的对象中,context=ctx=this常用的属性和方法ctx.response,ctx.request,ctx.type,ctx.length,ctx.method,ctx.app,ctx.cookies,ctx.originalUrl,ctx.path,ctx.query,ctx.querystringRequest(requestobject)进一步封装了node的请求对象,提供了一些开发中常用的有用函数。和方法req.header、req.url、req.query、req.get(field)Response(Responseobject)进一步封装了node的response对象,提供了一些开发中有用的功能。常用的属性和方法res.header,res.status,res.length,res.body,res.redirect(url)linkmysqlvarmysql=require('mysql2');varoptions={'host':config.db_host,'port':config.db_port,'database':config.db_name,'user':config.db_user,'password':config.db_passwd,'charset':config.db_charset,'connectionLimit':config.db_conn_limit,'supportBigNumbers':true,'bigNumberStrings':true}varpool=mysql.createPool(options);pool.getConnection(function(err,connection){......}log4js日志varlog4js=require("log4js");varlogconfig={appenders:{out:{type:'console'},errorLogger:{type:"dateFile",filename:errorLogPath,pattern:"-yyyy-MM-dd-hh.log",alwaysIncludePattern:true},resLogger:{类型:"dateFile",文件名:accessLogPath,模式:"-yyyy-MM-dd-hh.log",alwaysIncludePattern:true}},类别:{默认:{应用程序penders:['resLogger'],level:'info'},errorLogger:{appenders:["out","errorLogger"],level:"error"},resLogger:{appenders:["out","resLogger"}],level:"info"}}};log4js.configure(logconfig);varerrorLogger=log4js.getLogger("errorLogger");hbs模板varhbs=require('koa-hbs');{{#eachrows}}

  • {{/each}}附件整理完成!