Nodejs讀取文件時相對路徑的正確寫法(使用fs模塊)
在開發(fā)Nodejs中,我們往往最常用的模塊就是fs核心模塊(fs.readFile)來讀取文件。代碼如下:

但是運行之后,并沒有按照想象中一樣,讀取test.html文件內(nèi)容,這是一個bug,解決辦法:
其實由于運行環(huán)境的不同,以上的相對路徑的寫法導(dǎo)致最后讀取的位置是不同的。
正確的寫法應(yīng)該是使用"path.join()"的方式實現(xiàn):(__dirname表示當前文件的目錄名)
//require 表示引包,引包就是引用自己的一個特殊功能
var http = require("http");
var path = require("path");
var fs = require("fs");
//創(chuàng)建服務(wù)器,參數(shù)是一個回調(diào)函數(shù),表示如果有事件進來,要做什么
var server = http.createServer(function (req,res) {
fs.readFile(path.join(__dirname, "./test.html"),function (err,data) {
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
res.end(data);
});
});
//運行服務(wù)器 2000端口 端口可以任意修改
server.listen(2000,"127.0.0.1");
運行效果如下:

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
Node.js dgram模塊實現(xiàn)UDP通信示例代碼
這篇文章主要介紹了Node.js dgram模塊實現(xiàn)UDP通信示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
nodejs使用PassThrough流進行數(shù)據(jù)傳遞合并示例詳解
這篇文章主要為大家介紹了nodejs使用PassThrough流進行數(shù)據(jù)傳遞合并示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
基于 Docker 開發(fā) NodeJS 應(yīng)用
這是兩篇文章的第一篇。本文涵蓋了有關(guān)在使用 Express 框架開發(fā)一個Node應(yīng)用時,用Docker 替代 Vagrant 的比較詳細的教程, 應(yīng)用將使用 connect-redis 中間件將會話信息持久化到Redis中. 第二篇文章將介紹到將這個開發(fā)的設(shè)置產(chǎn)品化.2014-07-07
Express使用multer實現(xiàn)文件上傳的示例代碼
這篇文章主要介紹了Express 使用 multer 實現(xiàn)文件上傳的操作步驟,文中通過代碼示例和圖文結(jié)合的方式講解的非常詳細,對大家的學(xué)習或工作有一定的幫助,需要的朋友可以參考下2024-03-03
express如何解決ajax跨域訪問session失效問題詳解
這篇文章主要給大家介紹了關(guān)于express如何解決ajax跨域訪問session失效問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧2019-06-06

