国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

nodejs搭建web服務器的小白做法

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 19:30:38
文檔

nodejs搭建web服務器的小白做法

nodejs搭建web服務器的小白做法:本篇文章給大家?guī)淼膬?nèi)容是關于nodejs搭建web服務器的小白做法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。nodejs搭建簡單的web服務器1.1簡介Node.js是基于Chrome JavaScript運行時建立的一個平臺,實際上它是對Google Chr
推薦度:
導讀nodejs搭建web服務器的小白做法:本篇文章給大家?guī)淼膬?nèi)容是關于nodejs搭建web服務器的小白做法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。nodejs搭建簡單的web服務器1.1簡介Node.js是基于Chrome JavaScript運行時建立的一個平臺,實際上它是對Google Chr

本篇文章給大家?guī)淼膬?nèi)容是關于nodejs搭建web服務器的小白做法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

nodejs搭建簡單的web服務器

1.1簡介

Node.js是基于Chrome JavaScript運行時建立的一個平臺,實際上它是對Google Chrome V8引擎進行了封裝,它主要用于創(chuàng)建快速的、可擴展的網(wǎng)絡應用。

也就是說,瀏覽器的Javascript是瀏覽器js代碼解析,而Node.js則是服務器端JS的代碼解析器,存于服務器端的JS代碼由Node.js來解析和應用。

注:雖然從某種意義上講Nodejs和js 是同一種產(chǎn)物,寫法用法不盡相同,但是重點來了,nodejs在作用域服務端,js只是作用域瀏覽器端,js可以指向瀏覽器,nodejs指向不了瀏覽器,所以有些api是不同的。

同理:js為弱類型語言,那么nodejs也是弱類型語言在語言算法上有事會有偏差,如果開發(fā)銀行系統(tǒng),支付系統(tǒng)不要用nodejs。(nodejs 適合IO密集型應用,不適合于CPU密集型應用。)

1.2node模塊類型

模塊類型有:   

1)官方提供的原生模塊
global、util、querystring、url、buffer、fs、http、
2)第三方模塊
mysql、oracle、express
3)自定義模塊
文件模塊和目錄模塊

1.3常用的原生模塊 -- 難點重點

1)querystring模塊用于處理http請求url中的查詢字符串
var obj=qs.parse(str); 把查詢字符串解析為js對象
var str=qs.parse(obj); 把js對象轉(zhuǎn)換為查詢字符串

2)url 模塊用于解析一個http請求地址,獲取其中各個不同的部分
var obj = url.parse(str) 把一個url字符串解析為一個對象
var obj = url.parse(str,true) 把一個url字符串解析為一個對象,并把其中的查詢字符串也解析為對象

3)buffer 緩沖區(qū),本質(zhì)是一塊內(nèi)存區(qū)域,用于暫存以后要用到的數(shù)據(jù)(可能是數(shù)字,字符串,二進制圖片、音視頻等),
該區(qū)域就成為“緩存”。 ******全局對象無需require引用******

//創(chuàng)建一個大小為10字節(jié)的緩沖區(qū)
var buf1 = Buffer.alloc(10); //alloc:分配
console.log(buf1);
var buf2 = Buffer.alloc(1024*3); //alloc:分配3kb大小的緩沖區(qū)
console.log(buf2);
var buf3=Buffer.from(['a','b','c']);
console.log(buf3);
//使用一個字符串創(chuàng)建一個緩沖區(qū)
var buf4=Buffer.from('abcd');
console.log(buf4);
var buf5=Buffer.from('一二三文');
console.log(buf5);
//把緩沖區(qū)的內(nèi)容轉(zhuǎn)換為字符串
console.log(buf5.toString());

4)fs 文件系統(tǒng)模塊
fs模塊提供了對文件系統(tǒng)中的文件/目錄進行增刪改查、讀寫的功能。

//同步讀取文件中的內(nèi)容
var data=fs.readFileSync(file);
//同步向文件中寫出內(nèi)容(刪除已有內(nèi)容)
fs.writeFileSync(file,str/buf);
//同步向文件中追加寫出內(nèi)容(不刪除已有內(nèi)容)
fs.appendFileSync(file,str.buf)
例如fs異步讀寫文件 不需要等待直接往下走
//異步讀取文件中的內(nèi)容
fs.readFile(file,funcgtion(err,data){
});
//異步向文件中寫出內(nèi)容(刪除已有內(nèi)容)
fs.writeFile(file,str/buf,function(){
});
//異步向文件中追加寫出內(nèi)容(不刪除已有內(nèi)容)
fs.appendFile(file,str.buf,function(){

});

5)http 模塊可用于編寫基于http協(xié)議的客戶端程序(即瀏覽器);
也可以編寫基于http協(xié)議的服務器端程序(即web服務器)
用http模塊編寫web服務器:var server=http.createServer();
1)接收客戶端的http請求消息
2)解析客戶端請求消息
3)讀取客戶端請求的文件。
4)向客戶端發(fā)送http響應消息,主體就是客戶端請求的文件

1.4如何搭建一個web服務器

講了上述內(nèi)容,我們接下來可以講一下如何用nodejs搭建一個小型的web服務器啦!(細看下面代碼和注釋哦!)

const http=require('http'); 
const url=require('url');
const fs=require('fs'); //引用模塊前面講過啦每個模塊都是干嘛的
//創(chuàng)建一個http服務器
var server=http.createServer();
//讓http服務器監(jiān)聽指定的端口
server.listen(80);
//當客戶端請求到來時,處理請求消息
server.on('request',function(req,res){
 //處理消息 req請求消息,res響應消息
 console.log('nodejs服務器接收到一個請求');
 //解析客戶端發(fā)來的請求消息
 console.log('請求地址'+req.url);
 var objURL=url.parse(req.url);
 /*console.log(objURL);*/
 res.setHeader('Content-Type','text/html;charset=utf-8');
 var path = objURL.pathname;
 if(path==='/login'){
 
 /*res.write('<h1>歡迎訪問登錄頁面</h1>');*/
 fs.readFile('./public/login.html',(err,data)=>{ 
 if(err){
 res.write('<h1>報錯了</h1>');
 }else{
 res.statusCode=200;
 res.write(data);
 res.end();
 }
 });
 
 }else if(path==='/index'){
 
 fs.readFile('./public/index.html',(err,data)=>{
 if(err)throw err;//若存在錯誤拋出錯誤,后面不執(zhí)行
 res.statusCode=200;
 res.write(data);
 res.end();
 
 });
 }else{
 
 fs.readFile('./public/404.html',(err,data)=>{
 if(err){
 res.write('<h1>報錯了</h1>');
 }else{
 res.statusCode=404;
 res.write(data);
 res.end();
 }
 });
 }
});

本文適用初級者,如想搭建健全的web服務器,還需要中間件更多的知識點。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

nodejs搭建web服務器的小白做法

nodejs搭建web服務器的小白做法:本篇文章給大家?guī)淼膬?nèi)容是關于nodejs搭建web服務器的小白做法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。nodejs搭建簡單的web服務器1.1簡介Node.js是基于Chrome JavaScript運行時建立的一個平臺,實際上它是對Google Chr
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 精品成人一区二区三区免费视频 | 一级毛片一级毛片一级级毛片 | 久久久久亚洲精品美女 | 国产自在自线午夜精品视频 | 五月天婷婷视频在线观看 | 日韩欧美在线观看视频 | 日韩欧美影院 | 女人18毛片a级毛片一区②区 | 欧美亚洲免费 | 中文字幕一区二区三区久久网站 | 亚洲一区二区在线成人 | 国产91精品一区二区麻豆亚洲 | 亚洲男同在线观看 | 日韩在线免费播放 | 欧美韩日| 亚洲1页 | 国产欧美一区二区三区精品 | 国产精品手机视频一区二区 | 99精品国产成人一区二区 | 欧美性俄罗斯18精品 | 亚洲欧美日韩在线观看二区 | 99久久精品费精品国产一区二区 | 亚洲午夜电影 | 国产丝袜一区二区三区在线观看 | 久久精品国产免费中文 | 国产在线精品一区二区夜色 | 国产一区二区三区在线视频 | 国产第十页 | 欧美在线综合 | 国产91精品久久久久久 | 亚洲视频免费观看 | 影音先锋中文字幕资源 | 久久亚洲精品国产亚洲老地址 | 中文字幕亚洲精品 | 亚洲欧美综合网站 | 麻豆国产 | 国产一区二区三区亚洲欧美 | 久久精品一区二区三区不卡牛牛 | 欧美 日韩 成人 | 午夜日本一区二区三区 | 国产精品久久久久久久y |