您好,登錄后才能下訂單哦!
小編給大家分享一下Nodejs中內(nèi)置模塊怎么使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
// 01. 導(dǎo)包 const fs = require("fs"); // 02. 調(diào)用unlink刪除方法 // 第一個(gè)參數(shù):要?jiǎng)h除的文件的路徑 // 第二個(gè)參數(shù):回調(diào)函數(shù) fs.unlink("01-內(nèi)置模塊fs的使用/tmp/hello.txt", (err) => { if (err) throw err; console.log("已成功刪除 /tmp/hello"); });
fs.readFile(path[, options], callback)
第一個(gè)參數(shù):文件的路徑
第二個(gè)參數(shù):可選參數(shù),讀取文件的編碼格式
第三個(gè)參數(shù):回調(diào)函數(shù)
fs.readFile("01-內(nèi)置模塊fs的使用/etc/passwd.txt", "utf-8", (err, data) => { // err是一個(gè)錯(cuò)誤對(duì)象,如果沒有錯(cuò)就返回一個(gè)null // data是讀的文件內(nèi)容 // console.log(err); // null console.log(data); // 這是一個(gè)寂寞的天,下著有些傷心的雨! });
作用:終端下自動(dòng)執(zhí)行代碼
安裝 npm i nodemon -g
nodemon
文件名即可
自動(dòng)監(jiān)視文件的修改,自動(dòng)重新運(yùn)行
ctrl+d 選擇相同的下一個(gè)
ctrl+左右 按單詞跳轉(zhuǎn)光標(biāo)
ctrl+enter 光標(biāo)另起一行
同步
console.log("哈哈"); for (var i = 0; i < 10; i++) { console.log(i); } console.log("呵呵"); -> 哈哈 0 1 2 3 4 5 6 7 8 9 10 呵呵
異步
console.log("哈哈"); setTimeout(() => { console.log("啦啦啦"); }, 1000); console.log("呵呵"); -> 哈哈 呵呵 啦啦啦
剛才我們學(xué)習(xí)的fs模塊讀/寫操作就是一個(gè)異步操作
console.log("哈哈"); const fs = require("fs"); fs.readFile("01-內(nèi)置模塊fs的使用/etc/望廬山瀑布.txt", "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } }); console.log("呵呵"); -> 哈哈 呵呵 望廬山瀑布 唐·李白 日照香爐生紫煙, 遙看瀑布掛前川。 飛流直下三千尺, 疑是銀河落九天。
其實(shí)讀文件也有同步操作
console.log("哈哈"); const fs = require("fs"); let data = fs.readFileSync("01-內(nèi)置模塊fs的使用/etc/passwd.txt", "utf-8"); console.log(data); console.log("呵呵"); -> 哈哈 這是一個(gè)寂寞的天,下著有些傷心的雨! 呵呵
// 看代碼,說出運(yùn)行結(jié)果 var t = true; while (t) { window.setTimeout(function () { t = false; }, 1000); } alert("end"); -> 死循環(huán)
__dirname: 獲現(xiàn)的是當(dāng)前這個(gè)文件所在的整個(gè)文件夾的絕對(duì)路徑
__filename: 拿到的是當(dāng)前這個(gè)文件的絕對(duì)路徑
console.log(__dirname); // d:\前端\NodeJs\nodejs code\02-內(nèi)置模塊path的使用 console.log(__filename); // d:\前端\NodeJs\nodejs code\02-內(nèi)置模塊path的使用\03-和路徑相關(guān)的兩個(gè)變量.js
const fs = require("fs"); const fullPath = __dirname + "\\etc\\1.txt"; fs.readFile(fullPath, "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } });
path.join()
方法會(huì)將所有給定的 path
片段連接到一起(使用平臺(tái)特定的分隔符作為定界符),然后規(guī)范化生成的路徑。
長度為零的 path
片段會(huì)被忽略。 如果連接后的路徑字符串為長度為零的字符串,則返回 '.'
,表示當(dāng)前工作目錄。
// 01. 導(dǎo)入模塊 const path = require("path"); // 02. 使用方法 // join方法是把路徑片段,連接成一個(gè)新的路徑. const fullPath = path.join(__dirname, "etc", "1.txt"); console.log(fullPath);
// 1. 導(dǎo)入模塊 const fs = require("fs"); const path = require("path"); // 2. 調(diào)用方法 // 2.1 使用path.joiin來拼接一個(gè)絕對(duì)路徑(要讀取文件的絕對(duì)路徑) const fullPath = path.join(__dirname, "etc", "1.txt"); // 2.2 讀文件 fs.readFile(fullPath, "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } });
// 1. 導(dǎo)入http模塊 const http = require("http"); // 2. 創(chuàng)建一個(gè)服務(wù)器 // 這個(gè)方法有一個(gè)返回值,返回值就代表這個(gè)服務(wù)器 const server = http.createServer((require, response) => { // 3. 設(shè)置返回給用戶看的內(nèi)容 response.end("hello world!"); }); // 4. 開啟服務(wù)器 server.listen(8087, () => { console.log("服務(wù)器開啟了:8087"); });
為請(qǐng)求頭對(duì)象設(shè)置單個(gè)請(qǐng)求頭的值。 如果此請(qǐng)求頭已存在于待發(fā)送的請(qǐng)求頭中,則其值將被替換。 這里可以使用字符串?dāng)?shù)組來發(fā)送具有相同名稱的多個(gè)請(qǐng)求頭。 非字符串值將被原樣保存。 因此 request.getHeader()
可能會(huì)返回非字符串值。 但是非字符串值將轉(zhuǎn)換為字符串以進(jìn)行網(wǎng)絡(luò)傳輸。
request.setHeader('Content-Type', 'application/json');
或:
request.setHeader('Cookie', ['type=ninja', 'language=javascript']);
如果想要返回去的中文不亂碼,那就要設(shè)置響應(yīng)頭.
response.setHeader("Content-Type", "text/html;charset=utf-8");
以上是“Nodejs中內(nèi)置模塊怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。