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


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

 

[javascript]  view plain  copy
 
 print?
  1. fs.readFile("./test.txt", function (error, result) {}  

 

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

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

 

[javascript]  view plain  copy
 
 print?
  1. fs.readFile(path.join(__dirname, "./test.txt"), function (error, result) {}  

        這樣的實現在不同機子的環境上都能成功運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM