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

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

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
服務(wù)端nodejs抓取jsonp接口數(shù)據(jù)實(shí)現(xiàn)示例
這篇文章主要為大家介紹了服務(wù)端nodejs抓取jsonp接口數(shù)據(jù)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
NodeJS前端自動(dòng)化部署實(shí)現(xiàn)實(shí)例詳解
這篇文章主要為大家介紹了NodeJS前端自動(dòng)化部署實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
module.exports和exports使用誤區(qū)案例分析
module.exports和exports使用誤區(qū),使用require()模塊時(shí),得到的永遠(yuǎn)都是module.exports指向的對(duì)象2023-04-04
Node.js 緩沖區(qū)(Buffer)模塊的方法及實(shí)例分析
在本篇文章里小編給大家整理了一篇關(guān)于Node.js 緩沖區(qū)(Buffer)模塊的方法及實(shí)例分析,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)下。2022-01-01
關(guān)于Node.js的events.EventEmitter用法介紹
本篇文章主要介紹了關(guān)于Node.js的events.EventEmitter用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04
k8s node節(jié)點(diǎn)重新加入master集群的實(shí)現(xiàn)
這篇文章主要介紹了k8s node節(jié)點(diǎn)重新加入master集群的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
node.js中的console.error方法使用說(shuō)明
這篇文章主要介紹了node.js中的console.error方法使用說(shuō)明,本文介紹了console.error的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12

