node.js使用fs讀取文件出錯的解決方案
今天配接口,使用fs模塊讀取json出現(xiàn)了錯誤'no such file or directory',然后經查終于解決,特此記錄。
使用nodejs的fs模塊讀取文件時習慣用相對路徑,但是運行的時候出現(xiàn)了上述的錯誤,原因就是fs模塊讀取文件的相對路徑是以啟動server.js的位置為基準的,而不是以server.js文件的位置。
這就是這篇文章所要講述的問題。并且nodejs官方推薦在使用fs模塊讀取文件時使用絕對路徑,而不是相對路徑。
但是寫絕對路徑又有些許麻煩,那該如何解決呢,參考以下代碼就可以啦:
var fs = require('fs');
let path = require('path');
let PUBLIC_PATH = path.resolve(__dirname, 'xx.json');
fs.readFile(PUBLIC_PATH, 'utf8', function (err, data) {
if (err) console.log(err);
});
補充:
在fs模塊中,提供同步方法是為了方便使用。那我們到底是應該用異步方法還是同步方法呢?
由于Node環(huán)境執(zhí)行的JavaScript代碼是服務器端代碼,所以,絕大部分需要在服務器運行期反復執(zhí)行業(yè)務邏輯的代碼,必須使用異步代碼,否則,同步代碼在執(zhí)行時期,服務器將停止響應,因為JavaScript只有一個執(zhí)行線程。
服務器啟動時如果需要讀取配置文件,或者結束時需要寫入到狀態(tài)文件時,可以使用同步代碼,因為這些代碼只在啟動和結束時執(zhí)行一次,不影響服務器正常運行時的異步執(zhí)行。
以上就是本次介紹的全部相關知識點,感謝大家的學習和對腳本之家的支持。
- node.js?readline和line-reader逐行讀取文件方法
- node.js讀取命令行參數(shù)詳解
- node.js通過url讀取文件
- Node.js fs模塊(文件模塊)創(chuàng)建、刪除目錄(文件)讀取寫入文件流的方法
- Node.js中讀取TXT文件內容fs.readFile()用法
- node.js讀取Excel數(shù)據(jù)(下載圖片)的方法示例
- Node.js readline 逐行讀取、寫入文件內容的示例
- 教你用十行node.js代碼讀取docx的文本
- Node.js讀取文件內容示例
- node.js讀取文件到字符串的方法
- node.js實現(xiàn)逐行讀取文件內容的代碼
- node.js生成與讀取csv文件方法詳解
相關文章
nodejs如何在package.json中設置多條啟動命令
這篇文章主要介紹了nodejs如何在package.json中設置多條啟動命令,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
Node.js安裝及npm國內鏡像配置的方法實現(xiàn)
本文主要介紹了Node.js安裝及npm國內鏡像配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06
npm?install安裝報錯:gyp?info?it?worked?if?it?ends?with?
今天新啟動一個項目,在 npm install 安裝依賴項時出現(xiàn)報錯,所以下面這篇文章主要給大家介紹了關于npm?install安裝報錯:gyp?info?it?worked?if?it?ends?with?ok的解決方法,需要的朋友可以參考下2022-07-07

