成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

開始學(xué)習(xí)koa

KunMinX / 802人閱讀

摘要:對已經(jīng)躍躍欲試很久,恰遇最近正式發(fā)布,今天嘗試著倒騰一番。所以自己對的學(xué)習(xí)算是從開始,由于文檔資源還不完全,準(zhǔn)備踩著前輩們的肩膀,慢慢入坑。常識入門級程序與大部分程序員同胞一樣樣的習(xí)慣,寫一發(fā)慰藉自己孤寂的心靈。

對koa已經(jīng)躍躍欲試很久,恰遇koa2最近正式發(fā)布,今天嘗試著倒騰一番。所以自己對koa的學(xué)習(xí)算是從2.x開始,由于文檔資源還不完全,準(zhǔn)備踩著前輩們的肩膀,慢慢入坑。

環(huán)境的搭建

node運行環(huán)境,官方文檔標(biāo)注node v4.0.0及以上版本。

babel,在使用async/await編程時babel是必須的,但是本人未使用async/await,而是使用傳統(tǒng)的promise,所以未嘗試安裝babel。

常識入門級程序

與大部分程序員同胞一樣樣的習(xí)慣,寫一發(fā)hello world慰藉自己孤寂的心靈。

const Koa = require("koa");
let app = new Koa();

app.use(ctx => {
    ctx.body = "hello world";
});

app.listen(3000);

打開瀏覽器,訪問localhost:3000,親切的hello world映入眼簾。

理解關(guān)鍵點

(應(yīng)用上下文)context

引用官方解釋:

Koa Context 將 node 的 request 和 response 對象封裝在一個多帶帶的對象里面,其為編> 寫 web 應(yīng)用和 API 提供了很多有用的方法。

許多 context 的訪問器和方法為了便于訪問和調(diào)用,簡單的委托給他們的 ctx.request 和 ctx.response 所對應(yīng)的等價方法, 比如說 ctx.type 和 ctx.length 代理了 response 對象中對應(yīng)的方法,ctx.path 和 ctx.method 代理了 request 對象中對應(yīng)的方法。

異步編程實現(xiàn)

koa1提供了generator方式,koa2引入async/await實現(xiàn),而我獨愛promise處理方式。

app.use((ctx, next) => {
    const start = new Date();
    return next().then(() => {
        const ms = new Date() - start;
        ctx.body += `1:${ctx.method} ${ctx.url} - ${ms}ms 
`;
    });
});

app.use((ctx, next) => {
    const start = new Date();
    return next().then(() => {
        const ms = new Date() - start;
        ctx.body += `2:${ctx.method} ${ctx.url} - ${ms}ms 
`;
    });
});

app.use((ctx, next) => {
    ctx.body = "first exec 
";
});

訪問localhost:3000/index,最終結(jié)果:

first exec
2:GET /index - 0ms
1:GET /index - 0ms

勉強有點手感,洗簌,睡覺,同志們晚安。

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/79413.html

相關(guān)文章

  • 從零組裝新工具 - Koa2

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

    sutaking 評論0 收藏0
  • 從Generator開始學(xué)習(xí)Koa

    摘要:需要說明的是,每次執(zhí)行完函數(shù)之后,都會返回一個對象這個返回值有兩個屬性和,對象通過這個返回值來告訴外界函數(shù)的執(zhí)行情況。函數(shù)的返回值變成這樣可以發(fā)現(xiàn)的值變?yōu)榱?,因為函?shù)已經(jīng)執(zhí)行完了。在規(guī)范中,新增了兩個協(xié)議可迭代協(xié)議和迭代器協(xié)議。 Koa是最近比較火的一款基于Node的web開發(fā)框架。說他是一個框架,其實他更像是一個函數(shù)庫,通過某種思想(或者說某種約定),將眾多的中間件聯(lián)系在一起,從而提...

    doodlewind 評論0 收藏0
  • 開始連載啦~每周2更共11堂iKcamp課|基于Koa2搭建Node.js實戰(zhàn)項目教學(xué)(含視頻)|

    摘要:玩轉(zhuǎn)同時全面掌握潮流技術(shù)采用新一代的開發(fā)框架更小更富有表現(xiàn)力更健壯。融合多種常見的需求場景網(wǎng)絡(luò)請求解析模板引擎靜態(tài)資源日志記錄錯誤請求處理。結(jié)合語句中轉(zhuǎn)中間件控制權(quán),解決回調(diào)地獄問題。注意分支中的目錄為當(dāng)節(jié)課程后的完整代碼。 ?? ?與眾不同的學(xué)習(xí)方式,為你打開新的編程視角 獨特的『同步學(xué)習(xí)』方式 文案講解+視頻演示,文字可激發(fā)深層的思考、視頻可還原實戰(zhàn)操作過程。 云集一線大廠...

    B0B0 評論0 收藏0
  • 從零開始學(xué)習(xí)部署

    摘要:現(xiàn)在,我們已經(jīng)有了云服務(wù)器了,接下來就是如何把我們能在本地跑起來的代碼部署在服務(wù)器上。云服務(wù)器設(shè)置,是運維同學(xué)經(jīng)常打交道的。討論地址歡迎一起討論,地址從零開始學(xué)習(xí)部署參考資料誰說前端不需要懂反向代理與負(fù)載均衡從入門到實踐 前段時間看到了張云龍的文章 一個程序員的成長之路 - 剖析別人,總結(jié)自己,里面有這么一段話 棧外技術(shù),是指棧內(nèi)技術(shù)的上下游,領(lǐng)域外的相關(guān)專業(yè)知識,包括但不限于服務(wù)端技...

    jsdt 評論0 收藏0
  • 從零開始學(xué)習(xí)部署

    摘要:現(xiàn)在,我們已經(jīng)有了云服務(wù)器了,接下來就是如何把我們能在本地跑起來的代碼部署在服務(wù)器上。云服務(wù)器設(shè)置,是運維同學(xué)經(jīng)常打交道的。討論地址歡迎一起討論,地址從零開始學(xué)習(xí)部署參考資料誰說前端不需要懂反向代理與負(fù)載均衡從入門到實踐 前段時間看到了張云龍的文章 一個程序員的成長之路 - 剖析別人,總結(jié)自己,里面有這么一段話 棧外技術(shù),是指棧內(nèi)技術(shù)的上下游,領(lǐng)域外的相關(guān)專業(yè)知識,包括但不限于服務(wù)端技...

    gyl_coder 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<