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