node.js使用fs讀取文件出錯的解決方案

 更新時間:2019年10月23日 14:26:46   作者:byd張小偉   我要評論
在本篇文章里我們給大家帶來一篇關于node.js使用fs讀取文件出錯的解決辦法,有需要的朋友們參考下。

今天配接口,使用fs模塊讀取json出現了錯誤'no such file or directory',然后經查終于解決,特此記錄。

使用nodejs的fs模塊讀取文件時習慣用相對路徑,但是運行的時候出現了上述的錯誤,原因就是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環境執行的JavaScript代碼是服務器端代碼,所以,絕大部分需要在服務器運行期反復執行業務邏輯的代碼,必須使用異步代碼,否則,同步代碼在執行時期,服務器將停止響應,因為JavaScript只有一個執行線程。

服務器啟動時如果需要讀取配置文件,或者結束時需要寫入到狀態文件時,可以使用同步代碼,因為這些代碼只在啟動和結束時執行一次,不影響服務器正常運行時的異步執行。

以上就是本次介紹的全部相關知識點,感謝大家的學習和對腳本之家的支持。

相關文章

  • nodejs實現獲取當前url地址及url各種參數值

    nodejs實現獲取當前url地址及url各種參數值

    這篇文章主要介紹了nodejs實現獲取當前url地址及url各種參數值,本文直接給出代碼實例,需要的朋友可以參考下
    2015-06-06
  • 詳解Nodejs 部署到阿里云全過程

    詳解Nodejs 部署到阿里云全過程

    這篇文章主要介紹了詳解Nodejs 部署到阿里云全過程,非常具有實用價值,需要的朋友可以參考下
    2017-06-06
  • nodeJS實現路由功能實例代碼

    nodeJS實現路由功能實例代碼

    本篇文章主要介紹了nodeJS實現路由功能實例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Node.js實現注冊郵箱激活功能的方法示例

    Node.js實現注冊郵箱激活功能的方法示例

    現在很多網站都需要有注冊郵箱激活的功能,本篇文章主要介紹了Node.js實現注冊郵箱激活功能的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • async/await優雅的錯誤處理方法總結

    async/await優雅的錯誤處理方法總結

    這篇文章主要給大家介紹了關于async/await優雅的錯誤處理方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • nodejs使用node-xlsx生成excel的方法示例

    nodejs使用node-xlsx生成excel的方法示例

    這篇文章主要介紹了nodejs使用node-xlsx生成excel,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • koa上傳excel文件并解析的實現方法

    koa上傳excel文件并解析的實現方法

    這篇文章主要介紹了koa上傳excel文件并解析的實現方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Node.js與PHP、Python的字符處理性能對比

    Node.js與PHP、Python的字符處理性能對比

    因為后續考慮實現 Fl 引擎的Node.js版本,所以對比了下Node.js和PHP的字符處理性能。發現Node.js真是甩了PHP幾條街啊,再測試了下Python,比PHP還慢。
    2014-07-07
  • Node.js實現簡單管理系統

    Node.js實現簡單管理系統

    這篇文章主要為大家詳細介紹了Node.js實現簡單管理系統,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Mongoose經常返回e11000 error的原因分析

    Mongoose經常返回e11000 error的原因分析

    這篇文章主要給大家分析了Mongoose經常返回e11000 error的原因,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友可以們下面來一起看看吧。
    2017-03-03

最新評論

2019开奖结果