node04 fs檔案操作 靜態伺服器

2022-03-13 11:22:25 字數 4485 閱讀 4931

//給使用者加乙個五位數的id

var userid = parseint(math.random() * 89999) + 10000;

console.log("歡迎" +userid);

res.writehead(200,);

//兩個引數,第乙個是完整路徑,當前目錄寫./

//第二個引數,就是**函式,表示檔案讀取成功之後,做的事情,檔案前面必須加./表示當前目錄,

fs.readfile("./test/1.txt",function

(err,data)

console.log(userid + "檔案讀取完畢");

非同步});

//stat檢測狀態

//儲存所有的資料夾

var wenjianjia =;

//readdir讀取檔案,files是讀取到的檔案

fs.readdir("./album",function(err,files)

console.log("333" +wenjianjia);

});console.log("444" +wenjianjia);

}console.log("222" +wenjianjia);

});console.log("555" +wenjianjia);

});server.listen(3000,"127.0.0.1");

/*files有3個,2個aaa,ccc資料夾。

for迴圈裡面有非同步,for迴圈執行很快,當thefilename是aaa時候,讀取aaa資料夾,for迴圈把他改成了ccc,所以讀取的就是ccc資料夾。

//遍歷album裡面的所有檔案、資料夾

fs.readdir("./album/",function

(err,files)

fs.stat("./album/" + files[i],function

(err,stats)

wenjianjia.push(files[i]);

iterator(i+1);//

執行下乙個

}); })(0);//

立即執行,執行第0 個

執行下乙個

靜態伺服器

//拓展名

var extname =path.extname(pathname);

console.log("extname:" +extname);

//真的讀取這個檔案,index.html裡面的css,js,載入時候也是通過這個方法,通過url的pathname和副檔名

fs.readfile("./static/" + pathname,function

(err,data));

res.end(data);

});return

; };

//mime型別,就是

//網頁檔案: text/html

//jpg檔案 : image/jpg

var mime =getmime(extname);

res.writehead(200,);//

不加這個瀏覽器就解析不出來css js

res.end(data);

console.log(data);

});}).listen(3000,"127.0.0.1");

function

getmime(extname)

}

瀏覽器mime型別

//輸入的**是127.0.0.1/images/logo.png

//實際請求的是./static/images/logo.png

//normalize把雙斜槓轉變成單斜槓

var fileurl = "./" + path.normalize("./static/" +pathname);

//得到拓展名

var extname =path.extname(pathname);

//把檔案讀出來

fs.readfile(fileurl,function

(err,data))

res.end("404,頁面沒有找到");

}//讀完之後做的事情

getmime(extname,function(mime))

res.end(data);

});});

});server.listen(80,"127.0.0.1");

function

getmime(extname,callback)

//轉成json

var mimejson =json.parse(data);

var mime = mimejson[extname] || "text/plain";

//執行**函式,mime型別字串,就是它的引數

callback(mime);

});}

node學習筆記3 檔案操作fs

檔案操作關鍵字 http fs 請求 node 裡面的 http 模組 readfile 讀檔案,引數包括 檔名,函式 writefile 寫檔案,引數包括 檔名,修改的內容,函式 先看一下檔案目錄 來個新鮮出爐的 關於readfile 的栗子 const fs require fs readfil...

Node之檔案系統fs

var fs require fs 非同步讀取 fs.readfile input.txt function err,data console.log 非同步讀取 data.tostring 同步讀取 var data fs.readfilesync input.txt console.log 同步...

node呈遞靜態檔案

在做cesium開發的過程中,載入自己的3d tiles會遇到跨域的問題。對於只會前端的同學來說,採用node來將檔案發布為服務的形式學習成本是最低的。此外cesiumlab好像支援3d tiles的服務發布。個人沒有使用過這一項 步驟 1 安裝node 2 在任一目錄下 最好不要在c盤,許可權不夠...