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

Node.js的HTTP模塊、URL模塊與supervisor工具介紹

 更新時(shí)間:2022年06月24日 10:35:08   作者:小旭2021  
這篇文章介紹了Node.js的HTTP模塊、URL模塊與supervisor工具,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、Node.js創(chuàng)建第一個(gè)應(yīng)用

如果我們使用 PHP 來編寫后端的代碼時(shí),需要 Apache 或者 Nginx 的 HTTP 服務(wù)器, 來處理客戶端的請(qǐng)求相應(yīng)。不過對(duì) Node.js 來說,概念完全不一樣了。使用 Node.js 時(shí),我們不僅僅在實(shí)現(xiàn)一個(gè)應(yīng)用,同時(shí)還實(shí)現(xiàn)了整個(gè) HTTP 服務(wù)器。

1、引入 http 模塊

var http = require("http");

2、創(chuàng)建服務(wù)器

接下來我們使用 http.createServer() 方法創(chuàng)建服務(wù)器,并使用 listen 方法綁定 8888 端口。函數(shù)通過 request, response 參數(shù)來接收和響應(yīng)數(shù)據(jù)。

/*
 如果我們使用PHP來編寫后端的代碼時(shí),需要Apache 或者 Nginx 的HTTP 服務(wù)器,并配上 mod_php5 模塊和php-cgi,來處理客戶端的請(qǐng)求相應(yīng)。
 不過對(duì) Node.js 來說,概念完全不一樣了。使用 Node.js 時(shí),我們不僅僅 在實(shí)現(xiàn)一個(gè)應(yīng)用,同時(shí)還實(shí)現(xiàn)了整個(gè) HTTP 服務(wù)器。
 */
 
//1.引入http模塊
var http=require('http');
//2.用http模塊創(chuàng)建服務(wù)
    /*
     * request 獲取url信息
     * response 瀏覽器返回響應(yīng)信息
     */
http.createServer(function(request,response){
// 發(fā)送 HTTP 頭部
// HTTP 狀態(tài)值: 200 : OK
//設(shè)置 HTTP 頭部,狀態(tài)碼是 200,文件類型是 html,字符集是 UTF-8
response.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
// 發(fā)送響應(yīng)數(shù)據(jù)
response.end('你好 nodejs');
}).listen(8001);
// 終端打印如下信息
console.log('Server running at http://127.0.0.1:8001/');

3.運(yùn)行程序

用命令行切換到程序?qū)?yīng)目錄。通過node 命令運(yùn)行程序。

瀏覽器運(yùn)行

你會(huì)發(fā)現(xiàn),我們本地寫一個(gè) js,打死都不能直接拖入瀏覽器運(yùn)行,但是有了 node,我們?nèi)魏我粋€(gè) js 文件,都可以通過 node 來運(yùn)行。也就是說,node 就是一個(gè) js 的執(zhí)行環(huán)境。

二、HTTP 模塊、URL 模塊

Node.js 中,將很多的功能,劃分為了一個(gè)個(gè) module(模塊)。 Node.js 中的很多功能都是通過模塊實(shí)現(xiàn)。

2.1、HTTP模塊的使用

//引用模塊
var http = require("http");
//創(chuàng)建一個(gè)服務(wù)器,回調(diào)函數(shù)表示接收到請(qǐng)求之后做的事情
var server = http.createServer(function(req,res){
//req 參數(shù)表示請(qǐng)求, res 表示響應(yīng)
console.log("服務(wù)器接收到了請(qǐng)求" + req.url);
res.end(); // End 方法使 Web 服務(wù)器停止處理腳本并返回當(dāng)前結(jié)果
});
//監(jiān)聽端口
server.listen(3000,"127.0.0.1");

設(shè)置一個(gè)響應(yīng)頭:

res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});

我們現(xiàn)在來看一下 req 里面能夠使用的東西。

最關(guān)鍵的就是 req.url 屬性,表示用戶的請(qǐng)求 URL 地址。所有的路由設(shè)計(jì),都是通過 req.url
來實(shí)現(xiàn)的。
我們比較關(guān)心的不是拿到 URL,而是識(shí)別這個(gè) URL。
識(shí)別 URL,用到了下面的 url 模塊

2.2、 URL 模塊的使用

url.parse() //解析 URL
url.format(urlObject) //是上面 url.parse() 操作的逆向操作
url.resolve(from, to) //添加或者替換地址
var http = require('http');
var url = require('url');
// 2.用http模塊創(chuàng)建服務(wù)
/*
 req獲取url信息   (request)
 res 瀏覽器返回響應(yīng)信息 (response)
 */
http.createServer(function(req, res) {
    // 輸入http://localhost:8001/news?aid=123   拿到aid
    // 輸入http://localhost:8001/news?aid=123&cid=3   拿到aid和cid
    // req.url  獲取瀏覽器url輸入的信息
    // var query=url.parse(req.url,true);
    // console.log(query);
    res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
    if (req.url != '/favicon.ico') {
        //http://localhost:8001/news?aid=123
        console.log(req.url);  //返回  /news?aid=123
        var result = url.parse(req.url, true); //第一個(gè)參數(shù)是地址    第二個(gè)參數(shù)是true的話表示把get傳值轉(zhuǎn)換成對(duì)象
        console.log('aid=' + result.query.aid);
        /*獲取url的get傳值*/
        console.log('cid=' + result.query.cid);
    }
    res.write('你好 nodejs');
    res.end();
    /*結(jié)束響應(yīng)*/
}).listen(8001);

1、url.parse()

2、url.format()

3、url.resolve()

三、Nodejs 自啟動(dòng)工具 supervisor

supervisor 會(huì)不停的 watch 你應(yīng)用下面的所有文件,發(fā)現(xiàn)有文件被修改,就重新載入程序文件這樣就實(shí)現(xiàn)了部署,修
改了程序文件后馬上就能看到變更后的結(jié)果。麻麻再也不用擔(dān)心我的重啟 nodejs 了!

1. 首先安裝 supervisor

npm install -g supervisor

2. 使用 supervisor 代替 node 命令啟動(dòng)應(yīng)用

supervisor   js文件

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

相關(guān)文章

最新評(píng)論