摘要:定義框架前端開(kāi)發(fā)框架,它是一款基于語(yǔ)法的網(wǎng)頁(yè)端開(kāi)發(fā)框架。它類似于框架,可以快速開(kāi)發(fā)服務(wù),方便快捷。
定義
koa框架 web前端開(kāi)發(fā)框架,它是一款基于es6語(yǔ)法的網(wǎng)頁(yè)端開(kāi)發(fā)框架。它類似于express框架,可以快速開(kāi)發(fā)服務(wù),方便快捷。
api手冊(cè)
http://koa.bootcss.com/
首先,創(chuàng)建package.json 使用版本為1.x
npm init #依賴 "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", }
其次,創(chuàng)建app.js
var koa = require("koa"); var app = koa(); // logger 中間件 app.use(function *(next){ var start = new Date; yield next; var ms = new Date - start; console.log("%s %s - %s", this.method, this.url, ms); }); // router 路由 app.use(function *(){ this.body = "Hello World"; }); // port 端口 app.listen(3000);
啟動(dòng)完成!
知識(shí)點(diǎn)Context(上下文)
將request 和 response 對(duì)象封裝在了一個(gè)多帶帶的對(duì)象里面,context = ctx = this
常用到的屬性和方法 ctx.response 、ctx.request 、 ctx.type 、ctx.length 、ctx.method 、ctx.app 、ctx.cookies、ctx.originalUrl 、ctx.path 、ctx.query 、ctx.querystring
Request(請(qǐng)求對(duì)象)
對(duì)node的request對(duì)象的進(jìn)一步封裝,提供了開(kāi)發(fā)中一些有用的功能
常用到的屬性和方法 req.header 、req.url、req.query、req.get(field)
Response(響應(yīng)對(duì)象)
對(duì)node的response對(duì)象的進(jìn)一步封裝,提供了開(kāi)發(fā)中一些有用的功能
常用到的屬性和方法 res.header、res.status、res.length、res.body 、res.redirect(url)
鏈接mysql
var mysql = require("mysql2"); var options = { "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 } var pool = mysql.createPool(options); pool.getConnection(function(err, connection) { ...... }
log4js 日志
var log4js = require("log4js"); var logconfig = { appenders: { out: { type: "console" }, errorLogger: { type: "dateFile", filename: errorLogPath, pattern: "-yyyy-MM-dd-hh.log", alwaysIncludePattern: true }, resLogger: { type: "dateFile", filename: accessLogPath, pattern: "-yyyy-MM-dd-hh.log", alwaysIncludePattern: true } }, categories: { default: { appenders: ["resLogger"], level: "info" }, errorLogger: { appenders: ["out", "errorLogger"], level: "error" }, resLogger: { appenders: ["out", "resLogger"], level: "info" } } }; log4js.configure(logconfig); var errorLogger = log4js.getLogger("errorLogger");
hbs模板
var hbs = require("koa-hbs"); {{#each rows}}
整理完畢!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/89023.html
摘要:引言最近空閑時(shí)間讀了一下的源碼在閱讀的源碼的過(guò)程中,我的感受是代碼簡(jiǎn)潔思路清晰不得不佩服大神的水平。調(diào)用的時(shí)候就跟有區(qū)別使用必須使用來(lái)調(diào)用除了上面的的構(gòu)造函數(shù)外,還暴露了一些公用的,比如兩個(gè)常見(jiàn)的,一個(gè)是,一個(gè)是。 引言 最近空閑時(shí)間讀了一下Koa2的源碼;在閱讀Koa2(version 2.2.0)的源碼的過(guò)程中,我的感受是代碼簡(jiǎn)潔、思路清晰(不得不佩服大神的水平)。下面是我讀完之后...
摘要:接上次挖的坑,對(duì)相關(guān)的源碼進(jìn)行分析第一篇。和同為一批人進(jìn)行開(kāi)發(fā),與相比,顯得非常的迷你。在接收到一個(gè)請(qǐng)求后,會(huì)拿之前提到的與來(lái)創(chuàng)建本次請(qǐng)求所使用的上下文。以及如果沒(méi)有手動(dòng)指定,會(huì)默認(rèn)指定為。 接上次挖的坑,對(duì)koa2.x相關(guān)的源碼進(jìn)行分析 第一篇。 不得不說(shuō),koa是一個(gè)很輕量、很優(yōu)雅的http框架,尤其是在2.x以后移除了co的引入,使其代碼變得更為清晰。 express和ko...
摘要:普通的回調(diào)函數(shù)調(diào)用執(zhí)行后續(xù)邏輯使用了以后的復(fù)雜邏輯獲取到正確的結(jié)果輸出兩個(gè)文件拼接后的內(nèi)容雖說(shuō)解決了的問(wèn)題,不會(huì)出現(xiàn)一個(gè)函數(shù)前邊有二三十個(gè)空格的縮進(jìn)。所以直接使用關(guān)鍵字替換原有的普通回調(diào)函數(shù)即可。 從今年過(guò)完年回來(lái),三月份開(kāi)始,就一直在做重構(gòu)相關(guān)的事情。 就在今天剛剛上線了最新一次的重構(gòu)代碼,希望高峰期安好,接近半年的Node.js代碼重構(gòu)。 包含從callback+async.w...
摘要:返回的結(jié)果是一個(gè)對(duì)象,類似于表示本次后面執(zhí)行之后返回的結(jié)果。對(duì)象用于一個(gè)異步操作的最終完成或失敗及其結(jié)果值的表示簡(jiǎn)單點(diǎn)說(shuō)就是處理異步請(qǐng)求。源碼分析主要脈絡(luò)函數(shù)調(diào)用后,返回一個(gè)實(shí)例。參考鏈接解釋對(duì)象的用法的源碼及其用法 本文始發(fā)于我的個(gè)人博客,如需轉(zhuǎn)載請(qǐng)注明出處。為了更好的閱讀體驗(yàn),可以直接進(jìn)去我的個(gè)人博客看。 前言 知識(shí)儲(chǔ)備 閱讀本文需要對(duì)Generator和Promise有一個(gè)基本的...
摘要:一個(gè)簡(jiǎn)單的轉(zhuǎn)換為的例子我們調(diào)用函數(shù)返回一個(gè)的實(shí)例,在實(shí)例化的過(guò)程中進(jìn)行文件的讀取,當(dāng)文件讀取的回調(diào)觸發(fā)式,進(jìn)行狀態(tài)的變更,或者狀態(tài)的變更我們使用來(lái)監(jiān)聽(tīng),第一個(gè)回調(diào)為的處理,第二個(gè)回調(diào)為的處理。 2018年已經(jīng)到了5月份,node的4.x版本也已經(jīng)停止了維護(hù) 我司的某個(gè)服務(wù)也已經(jīng)切到了8.x,目前正在做koa2.x的遷移 將之前的generator全部替換為async 但是,在替換...
閱讀 1432·2021-11-25 09:43
閱讀 2029·2021-07-26 23:38
閱讀 741·2019-08-30 15:53
閱讀 2281·2019-08-30 15:43
閱讀 1169·2019-08-29 18:40
閱讀 1970·2019-08-26 13:28
閱讀 1975·2019-08-23 18:20
閱讀 544·2019-08-23 15:07