最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node.js中fs\path\http模塊的使用方法詳解

 更新時間:2023年01月03日 14:48:55   作者:初映CY的前說  
Node.js是基于Chrome V8引擎的JavaScript的運行時(運行環(huán)境-宿主環(huán)境),下面這篇文章主要給大家介紹了關(guān)于node.js中fs\path\http模塊的使用方法,需要的朋友可以參考下

先上本文的核心圖

一、node.js概念與作用

1.概念:

node.js 是一種 基于谷歌V8引擎 的 運行環(huán)境,V8是Google發(fā)布的開源JavaScript引擎,本身是用于Chrome瀏覽器的js解釋部分

2.作用:

  1. 具有超強的高并發(fā)能力,能夠?qū)崿F(xiàn)高性能服務(wù)器
  2. Node 包管理工具(node package manager,NPM)提供了數(shù)十萬個可重用的工具包。它還提供了一流的依賴解決方案,可實現(xiàn)自動化工具鏈構(gòu)建。(說白了node就是便于我們模塊化的開發(fā),需要啥就導(dǎo)入啥進去,不需要把整個文件都導(dǎo)入到我們的文件中)

二、模塊發(fā)開發(fā)三大板塊

1.模塊化開發(fā)介紹

把一個大文件拆分成很多個小文件,然后使用特定的語法組合在一起,這種開發(fā)方式叫做模塊化開發(fā)

模塊化開發(fā)有啥好處?

  • 按需引入,節(jié)省資源
  • 避免變量污染
  • 業(yè)務(wù)分離,便于維護

2.常見三大模塊 

1.fs 讀寫模塊

writeFile()的使用

①導(dǎo)入內(nèi)置模塊

const fs = require('fs')

②使用模塊

第一個參數(shù)path : 文件路徑

第一個參數(shù)encoding : 文件編碼  默認值二進制. 中文: utf8

第三個參數(shù)callback :  (err,data)=>{ err:錯誤信息  data:讀取的數(shù)據(jù) }

fs.readFile('./data/aaa.txt','utf-8',(err,data)=>{
  if(err){
    console.log(err); 
    throw err
  }else{
    console.log(data);
  }
})

③在集成終端查看

輸入node 文件名(可按tab快速補齊)

writeFile()的使用

①導(dǎo)入內(nèi)置模塊

const fs = require('fs')

②使用模塊

第一個參數(shù): 文件路徑

第二個參數(shù): 要寫入的數(shù)據(jù)

第三個參數(shù): 文件編碼  默認是數(shù)據(jù)編碼

第四個參數(shù): (err)=>{ }

fs.writeFile('./data/bbb.txt','年少莫問前程,天涯亦有歸途',err=>{
  if( err ){
    throw err
  }else{
    console.log('文件寫入成功')
  }
})

③在集成終端查看

 點開bbb.txt查看內(nèi)容

2.path 路徑模塊

①.導(dǎo)入模塊

const path = require('path')

②使用???有四種方法

 (1) 獲取一個文件的拓展名

/* 不關(guān)心此路徑文件在不在, 就是處理這個字符串。 獲取.后面的部分可以知道這個文件格式 */
console.log( path.extname('index.html') )// .html
console.log( path.extname('aaa.bbb') )// .bbb
console.log(path.extname('javaScript.js'));//js

集成終端查看

 (2)拼接相對路徑, 使用join方法

/* 把多個字符串按照路徑的方式拼接起來 */
console.log( path.join('aaa','bbb') )// aaa/bbb
console.log(path.join('a,b,c'));//a,b,c

集成終端查看

(3) 拼接絕對路徑

/* 默認從磁盤根目錄開始拼接出完整的路徑 */
console.log( path.resolve('/aa','bb','cc') )// 文件夾絕對路徑/aa/bb/cc

集成終端查看

(4)獲取當(dāng)前文件所在的絕對路徑

console.log( __dirname )// 可獲取文件夾絕對路徑
console.log( path.join(__dirname , 'aaa','bbb') )

 集成終端查看

3.http 搭建服務(wù)器模塊

整體步驟:

①導(dǎo)入http模塊

const http = require('http')

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

const app =  http.createServer( (req,res)=>{
  // (1) req : request 請求報文
  console.log( decodeURI(req.url) )
  // console.log( req.url, decodeURI(req.url) )
  // (2)處理
  // (3)res : response 響應(yīng)報文
} )

③開啟http服務(wù)器

// 3.開啟服務(wù)器
/* 
第一個參數(shù) port : 端口號
  一個電腦有很多個軟件,一個軟件對應(yīng)一個端口號. 范圍[0,65535]
第二個參數(shù) hostname : 主機名(ip地址)
  網(wǎng)線地址: 192.168.81.34            cmd命令:ipconfig
  本機地址: 127.0.0.1  (獲取當(dāng)前網(wǎng)線的ip地址,相當(dāng)于js中的self) 
第三個參數(shù) callback : ()=>{}
*/
app.listen(3088,'192.168.74.149',()=>{
  console.log('服務(wù)器開啟成功')
})

 之后進瀏覽器在地址欄輸入,可查看到服務(wù)器接受到了666666

(查看本機IP地址,在cmd中輸入ipconfig即可)

方法1:在服務(wù)器中根據(jù)請求不同處理不同的信息

const http =require('http')
const app =http.createServer((req,res)=>{
    if( req.url === '/index' ){
        // 3.response : 響應(yīng)報文
        // 設(shè)置響應(yīng)頭 :  服務(wù)器告訴瀏覽器我給你的數(shù)據(jù)是什么格式
        res.writeHead(200,{
          'Content-Type':'text/html;chartset=utf8'
        })
        res.end('index')//響應(yīng)體
      }else if( req.url === '/login' ){
    
        res.writeHead(200,{
          'Content-Type':'text/json;chartset=utf8'
        })
        // 后臺只能響應(yīng) 字符串或二進制,  如果你想要響應(yīng)其他數(shù)據(jù)需要轉(zhuǎn)成json
        // js=>json :  JSON.stringify( js對象 )
        res.end( JSON.stringify( {name:'初映',age:22} ) )
        
      }else{
        res.end('Not Found' + req.url )
      }
})
 
app.listen(3088,'192.168.74.149',()=>{
    console.log('服務(wù)器開啟成功')
  })

 請求地址是login。res.end(瀏覽器響應(yīng))

  請求地址是index的時候。res.end(瀏覽器響應(yīng))

 當(dāng)服務(wù)器收到了錯誤的請求地址。res.end(瀏覽器響應(yīng))

 方法2:nodejs響應(yīng)客戶端html文件

①導(dǎo)入需要的模塊

// 1.導(dǎo)入
const http =require('http')
const fs =require('fs')
const path =require('path')

②創(chuàng)建我們的服務(wù)器

// 2.創(chuàng)建
const app = http.createServer((req,res)=>{
    if(req.url==='/'){
        // 響應(yīng)index.html代碼
        fs.readFile(path.join(__dirname,'index.html'),(err,data)=>{
            if (err) {
               throw err 
            }else{
                res.end(data)
            }
        })}}
    )

③開啟服務(wù)器

// 3.開啟
app.listen(3000,()=>{
    console.log('服務(wù)器開啟成功')
  })

網(wǎng)頁地址欄搜索

總結(jié)

到此這篇關(guān)于node.js中fs\path\http模塊使用的文章就介紹到這了,更多相關(guān)node.js fs\path\http模塊使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用adb shell和node.js實現(xiàn)抖音搶紅包功能(推薦)

    利用adb shell和node.js實現(xiàn)抖音搶紅包功能(推薦)

    這篇文章主要介紹了利用adb shell和node.js實現(xiàn)抖音搶紅包功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 使用pm2部署node生產(chǎn)環(huán)境的方法步驟

    使用pm2部署node生產(chǎn)環(huán)境的方法步驟

    這篇文章主要介紹了使用pm2部署node生產(chǎn)環(huán)境的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • CentOS 安裝NodeJS V8.0.0的方法

    CentOS 安裝NodeJS V8.0.0的方法

    這篇文章主要介紹了CentOS 安裝NodeJS V8.0.0的方法,需要的朋友可以參考下
    2017-06-06
  • node.js操作mysql簡單實例

    node.js操作mysql簡單實例

    本文給大家介紹了nodejs 連接Mysql相關(guān)操作的示例代碼,主要用到的是sql語句,都是比較基礎(chǔ)的。
    2017-05-05
  • npm?install編譯時報"Cannot?read?properties?of?null?(reading?‘pickAlgorithm‘)"錯誤的解決辦法

    npm?install編譯時報"Cannot?read?properties?of?null?(r

    這篇文章主要給大家介紹了關(guān)于npm?install編譯時報“Cannot?read?properties?of?null?(reading?‘pickAlgorithm‘)“錯誤的解決辦法,文中將解決方法介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • nodejs URL模塊操作URL相關(guān)方法介紹

    nodejs URL模塊操作URL相關(guān)方法介紹

    這篇文章主要介紹了nodejs URL模塊操作URL相關(guān)方法介紹,本文講解了parse方法、format方法、querystring方法等,需要的朋友可以參考下
    2015-03-03
  • node.js 抓取代理ip實例代碼

    node.js 抓取代理ip實例代碼

    這篇文章主要介紹了node.js 抓取代理ip實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • nodejs 生成和導(dǎo)出 word的實例代碼

    nodejs 生成和導(dǎo)出 word的實例代碼

    前段時間由于項目需求,得做excel和word的導(dǎo)出功能.這篇文章主要介紹了nodejs 生成和導(dǎo)出 word的實例代碼,需要的朋友可以參考下
    2018-07-07
  • Nodejs實現(xiàn)批量修改圖片尺寸工具

    Nodejs實現(xiàn)批量修改圖片尺寸工具

    本文主要為大家介紹了一個Node.js工具,可以通過簡單的命令行操作,允許用戶批量調(diào)整圖片尺寸,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • 使用node.js中的Buffer類處理二進制數(shù)據(jù)的方法

    使用node.js中的Buffer類處理二進制數(shù)據(jù)的方法

    大家應(yīng)該都知道在客戶端JavaScript腳本代碼中,對二進制數(shù)據(jù)并沒有提供一個很好的支持。然而,在處理TCP流或文件流時,必須要處理二進制數(shù)據(jù)。因此,下面通過這篇文章來一起看看利用node.js中的Buffer類處理二進制數(shù)據(jù)的方法,有需要的朋友們可以參考借鑒。
    2016-11-11

最新評論

龙游县| 友谊县| 兴文县| 阿拉善盟| 秦安县| 苍山县| 大关县| 大名县| 东宁县| 洛阳市| 上蔡县| 富民县| 九寨沟县| 临泉县| 永康市| 芦溪县| 盈江县| 子长县| 石景山区| 伊宁县| 揭西县| 吴江市| 密云县| 汉中市| 随州市| 哈尔滨市| 固原市| 兴山县| 镇宁| 布尔津县| 昭苏县| 农安县| 康乐县| 罗定市| 且末县| 淮安市| 怀柔区| 辽阳县| 雅安市| 手游| 九台市|