亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

node函數(shù) node路由

Lsnsh / 3039人閱讀

摘要:函數(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ù)

兩個(gè)模塊,url和qureystring模塊
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ō)明

提取url
var 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)文件

編寫一個(gè)路由
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

相關(guān)文章

  • SPA 路由記憶

    摘要:路由記憶名詞解釋在中后臺(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ò)程,暫且稱之為路由記憶,前面例...

    starsfun 評(píng)論0 收藏0
  • Node.js 系列:原生 Node.js 應(yīng)用

    摘要:原生應(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ū)...

    Ocean 評(píng)論0 收藏0
  • Node.js原生開發(fā)入門完全教程

    摘要:原生開發(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...

    alphahans 評(píng)論0 收藏0
  • Express 實(shí)戰(zhàn)(一):概覽

    摘要:一個(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)容之前,我們有必要從大...

    zhaochunqi 評(píng)論0 收藏0
  • Node入門

    摘要:我們給某個(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)分解...

    姘擱『 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Lsnsh

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<