<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題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關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        nodejs搭建web服務(wù)器的小白做法

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:30:38
        文檔

        nodejs搭建web服務(wù)器的小白做法

        nodejs搭建web服務(wù)器的小白做法:本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于nodejs搭建web服務(wù)器的小白做法,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。nodejs搭建簡(jiǎn)單的web服務(wù)器1.1簡(jiǎn)介Node.js是基于Chrome JavaScript運(yùn)行時(shí)建立的一個(gè)平臺(tái),實(shí)際上它是對(duì)Google Chr
        推薦度:
        導(dǎo)讀nodejs搭建web服務(wù)器的小白做法:本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于nodejs搭建web服務(wù)器的小白做法,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。nodejs搭建簡(jiǎn)單的web服務(wù)器1.1簡(jiǎn)介Node.js是基于Chrome JavaScript運(yùn)行時(shí)建立的一個(gè)平臺(tái),實(shí)際上它是對(duì)Google Chr

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

        nodejs搭建簡(jiǎn)單的web服務(wù)器

        1.1簡(jiǎn)介

        Node.js是基于Chrome JavaScript運(yùn)行時(shí)建立的一個(gè)平臺(tái),實(shí)際上它是對(duì)Google Chrome V8引擎進(jìn)行了封裝,它主要用于創(chuàng)建快速的、可擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。

        也就是說(shuō),瀏覽器的Javascript是瀏覽器js代碼解析,而Node.js則是服務(wù)器端JS的代碼解析器,存于服務(wù)器端的JS代碼由Node.js來(lái)解析和應(yīng)用。

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

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

        1.2node模塊類(lèi)型

        模塊類(lèi)型有:   

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

        1.3常用的原生模塊 -- 難點(diǎn)重點(diǎn)

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

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

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

        //創(chuàng)建一個(gè)大小為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);
        //使用一個(gè)字符串創(chuàng)建一個(gè)緩沖區(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模塊提供了對(duì)文件系統(tǒng)中的文件/目錄進(jìn)行增刪改查、讀寫(xiě)的功能。

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

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

        1.4如何搭建一個(gè)web服務(wù)器

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

        const http=require('http'); 
        const url=require('url');
        const fs=require('fs'); //引用模塊前面講過(guò)啦每個(gè)模塊都是干嘛的
        //創(chuàng)建一個(gè)http服務(wù)器
        var server=http.createServer();
        //讓http服務(wù)器監(jiān)聽(tīng)指定的端口
        server.listen(80);
        //當(dāng)客戶(hù)端請(qǐng)求到來(lái)時(shí),處理請(qǐng)求消息
        server.on('request',function(req,res){
         //處理消息 req請(qǐng)求消息,res響應(yīng)消息
         console.log('nodejs服務(wù)器接收到一個(gè)請(qǐng)求');
         //解析客戶(hù)端發(fā)來(lái)的請(qǐng)求消息
         console.log('請(qǐng)求地址'+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>歡迎訪(fǎng)問(wèn)登錄頁(yè)面</h1>');*/
         fs.readFile('./public/login.html',(err,data)=>{ 
         if(err){
         res.write('<h1>報(bào)錯(cuò)了</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;//若存在錯(cuò)誤拋出錯(cuò)誤,后面不執(zhí)行
         res.statusCode=200;
         res.write(data);
         res.end();
         
         });
         }else{
         
         fs.readFile('./public/404.html',(err,data)=>{
         if(err){
         res.write('<h1>報(bào)錯(cuò)了</h1>');
         }else{
         res.statusCode=404;
         res.write(data);
         res.end();
         }
         });
         }
        });

        本文適用初級(jí)者,如想搭建健全的web服務(wù)器,還需要中間件更多的知識(shí)點(diǎn)。

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

        文檔

        nodejs搭建web服務(wù)器的小白做法

        nodejs搭建web服務(wù)器的小白做法:本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于nodejs搭建web服務(wù)器的小白做法,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。nodejs搭建簡(jiǎn)單的web服務(wù)器1.1簡(jiǎn)介Node.js是基于Chrome JavaScript運(yùn)行時(shí)建立的一個(gè)平臺(tái),實(shí)際上它是對(duì)Google Chr
        推薦度:
        標(biāo)簽: 小白 搭建 web服務(wù)器
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 国产专区一va亚洲v天堂| 国产精品国产午夜免费福利看| 亚洲精品岛国片在线观看| 亚洲国产欧洲综合997久久| 免费精品国偷自产在线在线| 亚洲成A∨人片在线观看无码| 精品熟女少妇av免费久久| 亚洲情a成黄在线观看动漫尤物| 久久久久久久岛国免费播放| 亚洲成a人片77777老司机| 最近免费字幕中文大全视频| 亚洲白色白色永久观看| 日本精品人妻无码免费大全| 亚洲精品动漫免费二区| 亚洲国产精品一区二区第一页免| 一级做a爰片久久毛片免费陪| 337p日本欧洲亚洲大胆裸体艺术| 中文字幕不卡免费视频| 亚洲国产精品久久久久久| 亚洲天堂免费在线| 国内成人精品亚洲日本语音| JLZZJLZZ亚洲乱熟无码| 免费h视频在线观看| 亚洲AV无码国产精品色| 免费一级一片一毛片| 免费精品久久天干天干| 亚洲人成黄网在线观看| 又色又污又黄无遮挡的免费视| 国产99精品一区二区三区免费| 亚洲国产成人久久精品动漫| 一二三四影视在线看片免费| 国产成人高清亚洲一区91| 亚洲成AV人片在线观看无| 永久在线免费观看| 国产精品亚洲а∨天堂2021| 亚洲AV美女一区二区三区| 最近的免费中文字幕视频| sihu国产精品永久免费| 亚洲成AV人片久久| 亚洲熟妇无码八AV在线播放| 妻子5免费完整高清电视|