欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node(koa2) web應(yīng)用模塊介紹詳解

 更新時間:2019年03月29日 09:08:35   作者:2FPS  
這篇文章主要介紹了node(koa2) web應(yīng)用模塊介紹詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在自己的koa2 web項目中,用到了幾個模塊,感覺都是不錯的,特地來分享下這些模塊。

一、前言

我們都知道可以通過koa2 工程名的方式來初始化koa2項目,官方為我們增加了koa-bodyparser、koa-josn、koa-router等非常不錯的模塊,但是,仍不夠,所以我將搜集到的有用的包介紹下,當(dāng)然,有好的包仍然會添加到其中。整個項目在koa2-web-engine ,為了方便查看,使用了原生的方式,歡迎查看。

二、新的模塊

將代碼克隆到本地并安裝依賴后,啟動服務(wù)器,在3000端口可以看到所有demo。

驗證碼

svg-captcha是一個驗證碼的庫,他創(chuàng)建了svg格式的驗證碼,可以在登錄時,驗證是否是正常的用戶登錄。

使用十分的簡單:

const svgCaptcha = require('svg-captcha');
captcha = svgCaptcha.create();

captcha對象中包含了svg數(shù)據(jù)和svg上顯示的內(nèi)容,至于是否要大小寫強制驗證就可以通過配置的方式來增加了。

處理代碼位于routes/verificationCode.js中。

密碼加密登錄

后端主要是利用node-rsa生成公鑰和私鑰,再將公鑰發(fā)送給前端,前端利用jsencrypt進行加密后發(fā)送給node,node再用私鑰解密。

為了性能,我只在服務(wù)器啟動的時候生成公鑰和私鑰,以后的請求都是用這隊公私鑰,他位于utils/RSA.js文件中,解密在routes/login.js中。

更詳細的可以查看我的這篇博客:基于node簡單實現(xiàn)RSA加解密

參數(shù)類型檢測

為了服務(wù)器的安全性,服務(wù)器對前端發(fā)送來的數(shù)據(jù)肯定是要做校驗的,我這使用的joi庫。

校驗主要靠Joi.validate()方法,第一個參數(shù)是要校驗的對象數(shù)據(jù),第二個參數(shù)是數(shù)據(jù)內(nèi)每個鍵對應(yīng)的數(shù)據(jù)類型,第三個則是可選的option,返回值是一個對象,該對象下的error字段用于判斷此次校驗是否成功。

在utils/checkParams.js中,paramsFormat定義了檢測類型,當(dāng)然每個類型都得用joi內(nèi)置的類型,checkParams()函數(shù)就是做檢測的地方,將最后的檢測結(jié)果return出去。

回到routes/joi.js中,利用checkParams()方法檢測數(shù)據(jù)類型,這兒的檢測是針對單個的請求,如果要針對所有的請求,可以寫成中間件的形式,如utils/middleware.js中,并在app.js中加入以下的就行了:

const middleware = require('./utils/middleware');
middleware.use(app);

防xss

這兒用到的是xss模塊,將每次請求到的數(shù)據(jù)經(jīng)過xss處理,輸出到后端。為此我自己搞了koa2-xss中間件模塊,順帶學(xué)習(xí)了如何發(fā)布npm包,感興趣的可以看下。

日志記錄

我是用的是log4js模塊,該模塊既可以記錄到數(shù)據(jù)庫,也可以記錄到log文件中,此處我是寫到文件中的。

utils/logs.js文件中是log4js的配置,并封裝了對外的調(diào)用接口,routes/log4js.js中是根據(jù)用戶發(fā)送的請求記錄到日志文件中。

定時任務(wù)

利用了node-schedule模塊,一個系統(tǒng)總會用到定時任務(wù)的,node-schedule提供了較為簡單的api,使用比較方便。

路由合并

koa2初始化的項目中是將每個路由文件require到app.js中的,當(dāng)路由文件變多時,管理這些路由就是件麻煩的事,于是引入了koa-compose來管理這些路由文件,只對外暴露一個接口。詳細的可以查看routes/index.js文件。

webSocket

websocket在實時性要求比較高的場景下也是會用到的,我們可以利用ws模塊實現(xiàn)。更為詳細的可以查看我的這篇文章:基于node實現(xiàn)websocket通信。

三、總結(jié)

后期用到一些有意思,有用的模塊也將加入到koa2-web-engine 中。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js中的fs.exists方法使用說明

    node.js中的fs.exists方法使用說明

    這篇文章主要介紹了node.js中的fs.exists方法使用說明,本文介紹了fs.exists方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 在 Node.js 中使用原生 ES 模塊方法解析

    在 Node.js 中使用原生 ES 模塊方法解析

    這篇文章主要介紹了在 Node.js 中使用原生 ES 模塊方法解析,還有部分內(nèi)容的鏈接,下面我們就來一起看看吧,需要的朋友可以參考下。
    2017-09-09
  • Windows下nodejs安裝及環(huán)境配置的實戰(zhàn)步驟

    Windows下nodejs安裝及環(huán)境配置的實戰(zhàn)步驟

    最近換了一個電腦,因為要使用到NodeJS,我將我自己的安裝步驟分享給大家,下面這篇文章主要給大家介紹了關(guān)于Windows下nodejs安裝及環(huán)境配置的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • node.js中的url.format方法使用說明

    node.js中的url.format方法使用說明

    這篇文章主要介紹了node.js中的url.format方法使用說明,本文介紹了url.format的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node 使用 async 控制并發(fā)的方法

    node 使用 async 控制并發(fā)的方法

    這篇文章主要介紹了node 使用 async 控制并發(fā)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Node.js中,在cmd界面,進入退出Node.js運行環(huán)境的方法

    Node.js中,在cmd界面,進入退出Node.js運行環(huán)境的方法

    今天小編就為大家分享一篇Node.js中,在cmd界面,進入退出Node.js運行環(huán)境的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Node批量爬取頭條視頻并保存方法

    Node批量爬取頭條視頻并保存方法

    在本篇文章中我們給大家介紹了node爬取頭條里面的視頻,并進行批量保存的方法,有需要的朋友可以測試以下。
    2018-09-09
  • Node.js 路由的實現(xiàn)方法

    Node.js 路由的實現(xiàn)方法

    這篇文章主要介紹了Node.js 路由的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Nodejs環(huán)境實現(xiàn)socket通信過程解析

    Nodejs環(huán)境實現(xiàn)socket通信過程解析

    這篇文章主要介紹了Nodejs環(huán)境實現(xiàn)socket通信過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • NodeJs操作MongoDB教程之分頁功能以及常見問題

    NodeJs操作MongoDB教程之分頁功能以及常見問題

    這篇文章主要給大家介紹了關(guān)于NodeJs操作MongoDB教程之分頁功能以及常見問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用NodeJs具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評論