nodejs讀取文件時相對路徑的正確寫法(使用fs模塊)

       在開發nodejs中,我們往往需要讀取文件或者寫入文件,最常用的模塊就是fs核心模塊。一個最簡單的寫入文件的代碼如下(暫時不考慮回調函數):

  1. fs.readFile("./test.txt"function (error, result) {}  

       該代碼的意思就是從當前目錄下的test.txt文件中讀取數據,然後在result中打印輸出。當在我們本地運行該代碼應該沒什麼問題,可以成功執行。但是如果這樣的代碼在項目中運行,同時把該項目部署到雲服務器上時,很有可能會出現bug。 bug的提示就是無法在該目錄找到test.txt文件。其實由於運行環境的不同,以上的相對路徑的寫法導致最後讀取的位置是不同的。

       正確的寫法應該是使用"path.join()"的方式實現:(__dirname表示當前文件的目錄名)

  1. fs.readFile(path.join(__dirname, "./test.txt"), function (error, result) {}  
        這樣的實現在不同機子的環境上都能成功運行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章