- fs:file System
- 讀取文件:fs.readFile(文件路徑系草,function(err,err){})
- 讀取static下的文件
結果:當頁面運行http://localhost:8080/1.txt待侵,會顯示static文件夾下1.txt的文件內容唆姐,如果我要顯示static文件夾下其他文件得哆,會發(fā)現(xiàn)我頁面顯示的內容還是1.txt里面的文件內容蜕青;const http = require('http'); const fs=require('fs'); const server = http.createServer(function (req, res) { if (res.url == 'favicon.ico') { return; } //讀取static下的文件 fs.readFile('./static/1.txt',function(err,data){ if(err){ res.end('404'); } res.writeHeader('200',{'Content-Type':'text/html;charset:UTF-8'}); res.end(data) }); }).listen(8080);
image.png
image.png- 在static文件下匕争,根據不同路徑渊啰,讀取不同的內容
結果:當我在瀏覽器輸入const http = require('http'); const fs=require('fs'); const server = http.createServer(function (req, res) { if (res.url == 'favicon.ico') { return; } //根據路徑的不同,返回不同的內容 let pathname = './static' + req.url; fs.readFile(pathname,function(err,data){ if(err){ res.end('404'); } res.writeHeader('200',{'Content-Type':'text/html;charset:UTF-8'}); res.end(data) }); }).listen(8080);
http://localhost:8080/1.txt
就會顯示1.txt文件里面的內容捂齐,路徑改為2.txt 就會顯示相應文件的內容
image.png
- 讀取文件:fs.readFile(文件路徑系草,function(err,err){})
![image.png](http://upload-images.jianshu.io/upload_images/6024959-6ed84837bd4cbc94.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- 注意:
1. nodejs不會根據根據路由的不同蛮放,渲染不同的內容,他需要我們自己去判斷路徑的不同奠宜,來手動返回不同的內容包颁;
2. 如果不想反復重啟服務器,而又想輸入不然同的內容压真,渲染不同頁面娩嚼,可以使用讀取文件和處理路徑的方式來解決
- 寫文件:fs.writeFile('路徑','修改后的內容',function(err){})
const http = require('http');
const fs = require('fs');
http.createServer((req, res) => {
fs.writeFile('./static/1.txt', '修改后的1文件', (err) => {
if (err) {
res.end('寫入失敗')
}
res.end();
})
}).listen(8080);
結果:
image.png
- 讀取當前文件夾下所有的文件和目錄fs.readdir(path滴肿,function(err,files){})
- fs.stat(path,function(err,stats){})
- stats.isFile()判斷是否為文件
- stats.isDirector() 判斷是否為文件夾
列子:獲取當前文件夾下所有的文件夾
const http = require('http'); const fs = require('fs'); const server = http.createServer((req, res) => { if(res.url=='favicon.ico'){return;} let aryDir=[]; fs.readdir('./', (err, files) => { console.log(files); (function Iterator(index) { if(index>=files.length){ console.log(aryDir); return; } fs.stat('./'+files[index],(err,stats)=>{ if(stats.isDirectory()){ aryDir.push(files[index]); } Iterator(++index); }) })(0); }); res.end(); }).listen(9999);
結果:
image.png