成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Koa項(xiàng)目基本要點(diǎn)

Miracle / 1168人閱讀

摘要:中的加基本上已成為的標(biāo)配。許多項(xiàng)目已開(kāi)始使用非關(guān)系型數(shù)據(jù)庫(kù)。項(xiàng)目構(gòu)建這里一定要用常用中間件介紹生成的應(yīng)用已經(jīng)包含常用中間件了,這里僅說(shuō)它里面沒(méi)有用到的。

Java中的Spring MVC加MyBatis基本上已成為Java Web的標(biāo)配。Node JS上對(duì)應(yīng)的有Koa、Express、Mongoose、Sequelize等。Koa一定程度上可以說(shuō)是Express的升級(jí)版。許多Node JS項(xiàng)目已開(kāi)始使用非關(guān)系型數(shù)據(jù)庫(kù)(MongoDB)。Sequelize對(duì)非關(guān)系型數(shù)據(jù)庫(kù)(MSSQL、MYSQL、SQLLite)做了支持。
Koa項(xiàng)目構(gòu)建
cnpm install -g koa-generator

// 這里一定要用koa2
koa2 /foo
Koa常用中間件介紹

koa-generator生成的應(yīng)用已經(jīng)包含常用中間件了,這里僅說(shuō)它里面沒(méi)有用到的。

koa-less
app.use(require("koa-less")(__dirname + "/public"))

必須在static前use,不然會(huì)無(wú)效。
stylesheets文件夾下新建styles.less,并引入所有模塊化less文件。

@import "foo.less";
@import "bar.less";

這樣所有的樣式會(huì)被編譯成一個(gè)style.css。在模板(pug)中引用style.css就行了。

koa-session
// 設(shè)置app keys,session會(huì)根據(jù)這個(gè)進(jìn)行加密
app.keys = ["some secret hurr"];
// 配置session config
const CONFIG = {
    key: "bougie:session",
    /** (string) cookie key (default is koa:sess) */
    maxAge: 1000 * 60 * 60 * 24 * 7,
    overwrite: true,
    /** (boolean) can overwrite or not (default true) */
    httpOnly: true,
    /** (boolean) httpOnly or not (default true) */
    signed: true,
    /** (boolean) signed or not (default true) */
    rolling: true,
    /** (boolean) Force a session identifier cookie to be set on every response. The expiration is reset to the original maxAge, resetting the expiration countdown. (default is false) */
    renew: false,
    /** (boolean) renew session when session is nearly expired, so we can always keep user logged in. (default is false)*/
};

// 應(yīng)用中間件
app.use(session(CONFIG, app));

這個(gè)必須在router前use,不然會(huì)無(wú)效。
基本使用,可以當(dāng)成一個(gè)普通對(duì)象

// 賦值
ctx.session.statu = value
// 取值
ctx.session.statu
// 刪除
ctx.session.statu = null
koa-proxies

用于代理配置

const proxy = require("koa-proxies")
app.use(proxy("/octocat", {
    target: "https://api.github.com/users",    
    changeOrigin: true,
    agent: new httpsProxyAgent("http://1.2.3.4:88"),
    rewrite: path => path.replace(/^/octocat(/|/w+)?$/, "/vagusx"),
    logs: true
}))
路由控制

開(kāi)發(fā)主要集中在路由控制這里,包括restful接口和模板渲染

獲取參數(shù)(request) 查詢參數(shù)(?param=a)
ctx.query.param
路由參數(shù)(/:id)
ctx.params.id
POST參數(shù)(JSON或Form)
ctx.request.body
請(qǐng)求回應(yīng)(response)

服務(wù)器響應(yīng)給客戶端的數(shù)據(jù)

restful
ctx.body = yourData
模板渲染

默認(rèn)從views目錄開(kāi)始,不許加文件后綴

ctx.render("layout", yourData)
路由攔截

未登錄時(shí)拒絕請(qǐng)求,這樣會(huì)返回404

const userAuth = (ctx, next) => {
    let isLogin = ctx.session.isLogin
    if(isLogin) return next()
}
router.use("/", userAuth)

此操作會(huì)包含在路由,如"/a"、"/b"等,需在子路由之前use,不然會(huì)無(wú)效

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/94321.html

相關(guān)文章

  • 【全文】狼叔:如何正確的學(xué)習(xí)Node.js

    摘要:感謝大神的免費(fèi)的計(jì)算機(jī)編程類中文書(shū)籍收錄并推薦地址,以后在倉(cāng)庫(kù)里更新地址,聲音版全文狼叔如何正確的學(xué)習(xí)簡(jiǎn)介現(xiàn)在,越來(lái)越多的科技公司和開(kāi)發(fā)者開(kāi)始使用開(kāi)發(fā)各種應(yīng)用。 說(shuō)明 2017-12-14 我發(fā)了一篇文章《沒(méi)用過(guò)Node.js,就別瞎逼逼》是因?yàn)橛腥嗽谥跎虾贜ode.js。那篇文章的反響還是相當(dāng)不錯(cuò)的,甚至連著名的hax賀老都很認(rèn)同,下班時(shí)讀那篇文章,竟然坐車(chē)的還坐過(guò)站了。大家可以很...

    Edison 評(píng)論0 收藏0
  • 【全文】狼叔:如何正確的學(xué)習(xí)Node.js

    摘要:感謝大神的免費(fèi)的計(jì)算機(jī)編程類中文書(shū)籍收錄并推薦地址,以后在倉(cāng)庫(kù)里更新地址,聲音版全文狼叔如何正確的學(xué)習(xí)簡(jiǎn)介現(xiàn)在,越來(lái)越多的科技公司和開(kāi)發(fā)者開(kāi)始使用開(kāi)發(fā)各種應(yīng)用。 說(shuō)明 2017-12-14 我發(fā)了一篇文章《沒(méi)用過(guò)Node.js,就別瞎逼逼》是因?yàn)橛腥嗽谥跎虾贜ode.js。那篇文章的反響還是相當(dāng)不錯(cuò)的,甚至連著名的hax賀老都很認(rèn)同,下班時(shí)讀那篇文章,竟然坐車(chē)的還坐過(guò)站了。大家可以很...

    fengxiuping 評(píng)論0 收藏0
  • 從零組裝新工具 - Koa2

    摘要:返回后,代表操作已完成,記錄結(jié)束時(shí)間并輸出。從零組裝因?yàn)閷?duì)的學(xué)習(xí)和使用,知道了自己對(duì)于后臺(tái)框架的真實(shí)需求。所以這回決定不用之內(nèi)的工具,而是自己從零開(kāi)始,組裝一個(gè)適合自己的框架。就是去和上,尋找一個(gè)一個(gè)的包并組裝在一起了而已。 起因 作為一個(gè)前端,Node.js算是必備知識(shí)之一。同時(shí)因?yàn)樽约盒枰鲆恍┖笈_(tái)性的工作,或者完成一個(gè)小型應(yīng)用。所以學(xué)習(xí)了Node的Express框架,用于輔助和加...

    sutaking 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<