欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何在node.js中實現(xiàn)express框架-創(chuàng)新互聯(lián)

如何在node.js中實現(xiàn)express框架?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出舒蘭免費做網(wǎng)站回饋大家。

一、express框架初步介紹

關(guān)于express框架的介紹,這里我引用菜鳥教程的簡介:

Express是一個簡潔而靈活的node.js web框架,提供了一系列強大特性幫助你創(chuàng)建各種web應(yīng)用,和豐富的HTTP工具。使用Express可以快速地搭建一個完整功能的網(wǎng)站。

1.express框架的特性

  • (1)可以設(shè)置中間件來響應(yīng)HTTP請求;

  • (2)定義了路由表用于執(zhí)行不同大的HTTP請求動作;

  • (3)可以通過向模板傳遞參數(shù)來動態(tài)渲染HTML頁面;

2.安裝express

npm install express --save或cnpm install express --save

以下幾個重要需要與express框架一起安裝:

  • body-parser -node.js中間件,用于處理JSON,Raw,Text和URL編碼的數(shù)據(jù);

  • cookie-parser -這就是一個解析Cookie的工具。通過req.cookies可以取到傳過來的cookie,并將它們轉(zhuǎn)為對象;

  • multer - node.js中間件,用于處理enctype=“multipart/form-data”(設(shè)置表單mime編碼)的表單數(shù)據(jù);

安裝命令如下所示:

npm install body-parser --save
npm install cookie-parser --save
npm install multer --save

3.express的入門程序

node_learning.js代碼如下:

var express = require('express');
var app = express();

app.get('/', function (req, res) {
 res.send('Hello World');
})

var server = app.listen(2019, function () {

 var host = server.address().address
 var port = server.address().port

 console.log("應(yīng)用實例,訪問地址為 http://127.0.0.1:2019", host, port)

})

二、express框架中的app.use和app.get/app.post

app.use和app.get/app.post其實區(qū)別如(引用一位朋友說的):

感興趣的可以參考這個鏈接:作者做了試驗測試過的

(1)app.use(path,callback)中的callback既可以是router對象又可以是函數(shù)

(2)app.get(path,callback)中的callback只能是函數(shù)

app.use和app.get/app.post實現(xiàn)幾乎大同小異,代碼示例如下:

var express = require('express');
var app = express();
function testUser(req, res, next){
 // req 參數(shù)可以接受一些請求的參數(shù)(req.query/req.body) 和 請求頭信息
 // res 用于響應(yīng)信息
 // 調(diào)用next()方法則進入下一個中間件
 res.send("測試用戶");
}

function testLogin(req,res,next){
 res.send("測試登錄");
}

var server = app.listen(2019, function () {
 var host = server.address().address
 var port = server.address().port
 console.log("應(yīng)用實例,訪問地址為 http://127.0.0.1:2019")
})

//路徑匹配

app.use('/user',testUser);
app.get('/login',testLogin);

關(guān)于node.js的express框架就介紹這么多,最近本人因?qū)崿F(xiàn)某個插件的功能而需要用到的,這與下面說的mock server有比較大的關(guān)系。

三、mock server 介紹

mock server 翻譯過來的意思是模擬服務(wù)。

說到這我相信大家就很容易理解了。至于為什么要模擬服務(wù)?

比方說現(xiàn)今的業(yè)務(wù)系統(tǒng)很少有孤立存在的,它們或多或少使用其他公司提供的服務(wù),這給我們聯(lián)調(diào)和測試造成了比較大的麻煩,對于這種情況,常見的解決方案就是搭建一個mock server,模擬那些服務(wù)器,提供數(shù)據(jù)進行聯(lián)調(diào)和測試

如何在node.js中實現(xiàn)express框架

四、mock server的實現(xiàn)思路

現(xiàn)在google或者being搜索mock server 實現(xiàn)思路肯定有很多,這里我就不再贅述。

這里我以我自己最近的vscode插件開發(fā)來說。

我最近的工作是針對Settings-Sync作二次開發(fā)

關(guān)于settings-sync插件,感興趣的可以參考我的博客園Settings-Sync源碼閱讀

如何實現(xiàn)一個mock server 替換github api地址并確保效果一致?

針對目前這個需求,我的實現(xiàn)思路如下:

  • 第一,針對如何實現(xiàn)一個mock server ,可以復(fù)用已有,如mock-github-api(其本身是使用node.js的express框架);

  • 第二,如何編寫,可以按照express框架編寫網(wǎng)絡(luò)請求的方法,如app.get或app.use等;

  • 第三,為了保持與githu api一致,我需要引入github rest api,如@octokit/rest;

參考api地址

示例一:
  octokit.repos.listForOrg({
  org: 'octokit',
  type: 'public'
 }).then(({ data, status, headers }) => {
  // handle data
  //console.log("status:"+JSON.stringify(headers));
  //console.log(status);
  console.log(data);
 })
 返回的octokit相關(guān)的api信息(信息太多了,就先簡略)
示例二:
 const clientWithAuth = new Octokit({
 auth: 'token secret123'
 })
 console.log(clientWithAuth)//查看詳細信息
 console.log(JSON.stringify(clientWithAuth))//輸出簡要信息如下
 所示:
 返回的信息:
 {"log":{},"activity":{},"apps":{},"checks":{},"codesOfConduct":{},"emojis":{},
 "gists":{},"git":{},"gitignore":{},"interactions":{},"issues":{},"licenses":{},
 "markdown":{},"meta":{},"migrations":{},"oauthAuthorizations":{},"orgs":{},
 "projects":{},"pulls":{},"rateLimit":{},"reactions":{},"repos":{},"search":{},
 "teams":{},"users":{},"gitdata":{},"authorization":{},"pullRequests":{}
 }

看完上述內(nèi)容,你們掌握如何在node.js中實現(xiàn)express框架的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:如何在node.js中實現(xiàn)express框架-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.chinadenli.net/article44/digiee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號GoogleChatGPT搜索引擎優(yōu)化網(wǎng)站導(dǎo)航關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司