摘要:函數(shù)中一個(gè)函數(shù)可以作為另一個(gè)函數(shù)的參數(shù),即先定義一個(gè)函數(shù),然后傳遞匿名函數(shù)這個(gè)學(xué)過(guò),過(guò)路由要為路由提供請(qǐng)求的,和其他需要的的請(qǐng)求。隨后,路由會(huì)根據(jù)需要進(jìn)行執(zhí)行響應(yīng)的代碼。
node函數(shù)
js中一個(gè)函數(shù)可以作為另一個(gè)函數(shù)的參數(shù),即先定義一個(gè)函數(shù),然后傳遞
匿名函數(shù)這個(gè)學(xué)過(guò),過(guò)
node路由要為路由提供請(qǐng)求的url,和其他需要的get的post請(qǐng)求。
隨后,路由會(huì)根據(jù)需要進(jìn)行執(zhí)行響應(yīng)的代碼。
因此,需要根據(jù)http請(qǐng)求,從中提取中需要的url和get和post參數(shù)
http://localhost:8888/start?foo=bar&hello=word 這個(gè)url中 url.parse(string).pathname start url.parse(string).query 參數(shù)部分即問(wèn)號(hào)后面的內(nèi)容 querystring.parse(queryString)["foo"] bar內(nèi)容 querystring.parse(queryString)["hello"] word內(nèi)容
這是說(shuō)明
提取urlvar http = require("http"); var url = require("url"); (function start() { // 創(chuàng)建一個(gè)命名空間 function onRequest(request, response) { var pathname = url.parse(request.url).pathname; // 提取出來(lái)url的內(nèi)容 console.log(pathname); response.writeHead(200, {"Content-Type": "text/plain"}); response.write("hello word"); response.end(); }; http.createServer(onRequest).listen(1937); }());
訪問(wèn)連接 http://127.0.0.1:1937/hello%20word.html
http://127.0.0.1:1937/hello%20word
返回消息
PS C:UsersmingmDesktop est> node main.js /hello%20word /favicon.ico /hello%20word.html /favicon.ico
兩個(gè)請(qǐng)求,一個(gè)是hello word的請(qǐng)求,由于url不支持空格,所以用%20進(jìn)行替代,node返回客戶端請(qǐng)求的是hello word
favicon.ico是瀏覽器默認(rèn)的一個(gè)請(qǐng)求,若沒(méi)有圖標(biāo)文件的緩存都會(huì)對(duì)服務(wù)器請(qǐng)求一個(gè)圖標(biāo)文件
PS C:UsersmingmDesktop est> node index.js Server has started. hello word! hello word!
文件結(jié)構(gòu)
- test router.js server.js index.js
文件內(nèi)容
// router.js function route(pathname) { console.log("hello word!"); }; exports.route = route; // 導(dǎo)出方法 // server.js var http = require("http"); var url = require("url"); function start(route) { function onRequest(request, response) { var pathname = url.parse(request.url).pathname; route(pathname); // 使用route的js模塊(已經(jīng)在router.js文件導(dǎo)出)傳入的參數(shù)的值為pathname response.writeHead(200, {"Content-Type": "text/html"}); response.write(""); response.write("Hello word! hello word!"); response.end(); }; http.createServer(onRequest).listen(1937); console.log("Server has started."); }; exports.start = start; // index.js var server = require("./server"); var router = require("./router"); server.start(router.route);
訪問(wèn)結(jié)果
http://127.0.0.1:1937/ Hello word! hello word!個(gè)人博客
www.iming.info
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/96280.html
摘要:路由記憶名詞解釋在中后臺(tái)系統(tǒng)開發(fā)中,訪問(wèn)任何頁(yè)面時(shí),認(rèn)證是永遠(yuǎn)繞不過(guò)的檻。這個(gè)過(guò)程,暫且稱之為路由記憶,前面例子中的登錄頁(yè)面稱之為記憶節(jié)點(diǎn)。 SPA 路由記憶 名詞解釋 在中后臺(tái)系統(tǒng)開發(fā)中,訪問(wèn)任何頁(yè)面時(shí),認(rèn)證是永遠(yuǎn)繞不過(guò)的檻。以登錄為例,如果檢測(cè)出當(dāng)前用戶未登錄,會(huì)強(qiáng)制跳轉(zhuǎn)到登錄頁(yè)面提示用戶進(jìn)行登錄。登錄完成后,系統(tǒng)需要跳轉(zhuǎn)至用戶原先想訪問(wèn)的頁(yè)面。這個(gè)過(guò)程,暫且稱之為路由記憶,前面例...
摘要:原生應(yīng)用是一個(gè)基于引擎的運(yùn)行環(huán)境使用了一個(gè)事件驅(qū)動(dòng)非阻塞式的模型,使其輕量又高效的包管理器,是全球最大的開源庫(kù)生態(tài)系統(tǒng)本文主要介紹構(gòu)建一個(gè)應(yīng)用的基本步驟和模塊,并假定你已經(jīng)對(duì)有一定的了解本文引用部分代碼作為例子,如果希望參看全部源碼,歡迎去 原生 Node.js 應(yīng)用 Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境Node.js 使用了一個(gè)事件驅(qū)...
摘要:原生開發(fā)入門完全教程微信公眾號(hào)開發(fā)企業(yè)級(jí)產(chǎn)品全棧開發(fā)速成周末班首期班號(hào)正式開班,歡迎搶座一關(guān)于本篇文章參考了入門并從零到壹操作了一遍,感謝原作者,同時(shí)也強(qiáng)烈推薦大家移步到原文給予原文作者一個(gè)贊賞支持。 Node.js原生開發(fā)入門完全教程 (Node+Vue+React+微信公眾號(hào)開發(fā))企業(yè)級(jí)產(chǎn)品全棧開發(fā)速成周末班首期班(10.28號(hào)正式開班,歡迎搶座) 一、關(guān)于 本篇文章參考了Node...
摘要:一個(gè)標(biāo)準(zhǔn)性的事件就是年的橫空出世。引擎快速處理能力和異步編程風(fēng)格,讓開發(fā)者從多線程中解脫了出來(lái)。其次,通過(guò)異步編程范式將其高并發(fā)的能力發(fā)揮的淋漓盡致。它也僅僅是一個(gè)處理請(qǐng)求并作出響應(yīng)的函數(shù),并無(wú)任何特殊之處。 showImg(https://segmentfault.com/img/remote/1460000010819116); 在正式學(xué)習(xí) Express 內(nèi)容之前,我們有必要從大...
摘要:我們給某個(gè)方法傳遞了一個(gè)函數(shù),這個(gè)方法在有相應(yīng)事件發(fā)生時(shí)調(diào)用這個(gè)函數(shù)來(lái)進(jìn)行回調(diào)。當(dāng)回調(diào)啟動(dòng),我們的函數(shù)被觸發(fā)的時(shí)候,有兩個(gè)參數(shù)被傳入和。最后,我們調(diào)用完成響應(yīng)。創(chuàng)建文件并寫入以下內(nèi)容好了。 我們來(lái)把目標(biāo)設(shè)定得簡(jiǎn)單點(diǎn),不過(guò)也要夠?qū)嶋H才行: 用戶可以通過(guò)瀏覽器使用我們的應(yīng)用。當(dāng)用戶請(qǐng)求http://domain/start時(shí),可以看到一個(gè)歡迎頁(yè)面,頁(yè)面上有一個(gè)文件上傳的表單。 我們來(lái)分解...
閱讀 1705·2019-08-30 13:04
閱讀 2259·2019-08-30 12:59
閱讀 1822·2019-08-29 18:34
閱讀 1929·2019-08-29 17:31
閱讀 1319·2019-08-29 15:42
閱讀 3633·2019-08-29 15:37
閱讀 2934·2019-08-29 13:45
閱讀 2823·2019-08-26 13:57