NodeJs中分為兩部分
一是V8引擎為了解析和執(zhí)行JS代碼。
二是內置API,讓JS能調用這些API完成一些后端操作。
內置API模塊(fs、path、http等)
第三方API模塊(express、mysql等)
fs模塊
fs.readFile()方法,用于讀取指定文件中的內容。
fs.writeFile()方法,用于向執(zhí)行的文件中寫入內容
// fs 文件讀寫模塊
fs.readFile(path[, options], callback)
// path:必選,字符串,表示文件路徑。
// options:可選,表示以什么編碼格式來讀取文件。
// callback:必選,文件讀取完成后,通過回調函數拿到讀取的結果。
fs.readFile('./file.txt', 'utf8', function(err, sucess){
// 打印失敗的結果
// 讀取失敗時err會返回錯誤對象,sucess會返回undefined
console.log(err)
console.log("-------------------------")
// 打印成功的結果
console.log(sucess)
})
const fs = require("fs")
// 2.調用fs.writeFile()方法,寫入文件內容
// 參數1:讀取文件的存放路徑
// 參數2:data:表示要寫入的內容。
// 參數3:表示以什么格式寫入文件內容,默認值是utf8。
// 參數4:文件寫入完成后的回調函數。
fs.writeFile('./file.txt', "Holle", 'utf8', function(err){
// 打印失敗的結果
console.log(err)
})
path路徑處理模塊
path.join()方法,用來將多個路徑片段拼接成一個完整的路徑字符串
path.basename()方法,用來從路徑字符串中,將文件名解析出來文章來源:http://www.zghlxwxcb.cn/news/detail-660366.html
// 合成路徑的時候,'…/'會抵消掉一層路徑
const path = require('path')
const path = path.join('/a', '/b/c', '../', './d', 'e')
console.log(path)
// \a\b\d\e
const path2 = path.join(__dirname, './files/123.txt')
console.log(path2)
// __dirname:表示當前js文件所處的目錄
// path.basename(),從一個文件路徑中,獲取到文件的名稱部分:
const path = require('path')
const path = '/a/b/c/index.html'
var fullName = path.basename(path)
console.log(fullName)
// index.html
var n = path.basename(path, ".html" )
console.log(n)
// index
// 使用path.extname()方法,可以獲取路徑中的擴展名部分
const path = require('path')
const fpath = '/a/b/c/index.html'
const fext = path.extname(fpath)
console.log(fext)
// .html
http
通過 http模塊提供的 http.createServer()方法,把一臺普通的電腦,變成一臺Web服務器,從而對外提供Web資源服務。文章來源地址http://www.zghlxwxcb.cn/news/detail-660366.html
/ 導入http模塊
const http = require('http')
// 創(chuàng)建web 服務器實例
const server = http.createServer()
// 為服務器實例綁定request事件,監(jiān)聽客戶端的請求
server.on( 'request', (req,res) => {
// req 客戶端請求信息
// res 服務器響應信息
// 解決中文亂碼問題
//發(fā)送的內容包含中文
const str =`您請求的url地址是${req.url},請求的 method類型是${req.method}`
// 為了防止中文顯示亂碼的問題,需要設置響應頭Content-Type 的值為 text/html; charset=utf-8
res.setHeader( 'Content-Type', 'text/html; charset=utf-8')
// 把包含中文的內容,響應給客戶端
res.end(str)
// 只要有客戶端來請求我們自己的服務器,就會觸發(fā)request 事件,從而調用這個事件處理函數
console.log( 'Someone visit our web server.' )
})
// 啟動服務器
server.listen(8080, () =>{
console.log('http server running at http://127.0.0.1:8080')
})
只要有人訪問http://127.0.0.1:8080,那么終端就會打印Someone visit our web server.但是由于沒有寫任何返回值,頁面會等著客戶端返回數據。
到了這里,關于node.js內置模塊fs,path,http使用方法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!