場景
如果我們編寫后端的代碼時,需要Apache 或者Nginx 的HTTP 服務器,
來處理客戶端的請求相應。不過對Node.js 來說,概念完全不一樣了。使用Node.js 時,
我們不僅僅在實現一個應用,同時還實現了整個HTTP 服務器。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
有了node,我們任何一個js 文件,都可以通過node 來運行。也就是說,node 就是一個js 的執行環境。
Node.js 中,將很多的功能,划分為了一個個module(模塊)。Node.js 中的很多功能都是通過模塊實現。
HTTP模塊的使用
首先新建一個目錄,再次目錄下新建app.js
const http = require('http'); /* req 獲取客戶端傳過來的信息 res 給瀏覽器響應信息 */ http.createServer((req,res)= >{ console.log(req.url); //獲取url //設置響應頭 //狀態碼是 200,文件類型是 html,字符集是 utf-8 res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解決亂碼 res.write("<head> <meta charset='UTF-8'></head>"); //解決亂碼 res.write('公眾號:霸道的程序猿'); res.write('<h2>公眾號:霸道的程序猿</h2>'); res.end(); //結束響應 }).listen(3000);
然后在此目錄下打開cmd
node app.js
這樣一個簡單的http創建web服務就實現了。
打開瀏覽器,輸入
URL模塊的使用
首先通過
const url=require('url');
引入url模塊
url.parse
解析url
怎樣獲取請求的參數
在目錄下新建url.js
const url=require('url'); var api='https://blog.csdn.net/BADAO_LIUMANG_QIZHI?name=zhangsan&age=20'; console.log(url.parse(api,true)); var getValue=url.parse(api,true).query; console.log(getValue); console.log(`姓名:${getValue.name}--年齡:${getValue.age}`);
然后在終端中輸入
node url.js
Http模塊與URL模塊結合使用
在目錄下新建httpUrl.js
const http =require('http'); const url =require('url'); /* req 獲取客戶端傳過來的信息 res 給瀏覽器響應信息 */ http.createServer((req,res)=>{ //http://localhost:3000/?name=badao&age=24 想獲取url傳過來的name 和age //設置響應頭 //狀態碼是 200,文件類型是 html,字符集是 utf-8 res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解決亂碼 res.write("<head> <meta charset='UTF-8'></head>"); //解決亂碼 console.log(req.url); //獲取瀏覽器訪問的地址 if(req.url!='/favicon.ico'){ var userinfo=url.parse(req.url,true).query; console.log(`姓名:${userinfo.name}--年齡:${userinfo.age}`); } res.end('你好nodejs'); //結束響應 }).listen(3000);
然后打開終端輸入:
node httpUrl.js
打開瀏覽器輸入:
http://localhost:3000/?name=badao&age=24