今天配接口,使用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只有一个执行线程。

服务器启动时如果需要读取配置文件,或者结束时需要写入到状态文件时,可以使用同步代码,因为这些代码只在启动和结束时执行一次,不影响服务器正常运行时的异步执行。

以上就是本次介绍的全部相关知识点,感谢大家的学习和对脚本之家的支持。

node的fs读取html文件报错,node.js使用fs读取文件出错的解决方案相关推荐

  1. HDFS上传文件报错org.apache.hadoop.fs.ChecksumException: Checksum error: file:/hyk/data/hyk.txt

    当从本地上传文件到HDFS中时报错 fs.FSInputChecker: Found checksum error: b[0, 69]=6d6f7765696861686168616861686861 ...

  2. 引入react文件报错_react.js引入router文件后报错

    我是一个初学者,目前遇到一个问题,没能定位问题的原因和解决 从router.js文件导出 RouteConfig 我的路由文件如下:router.js import React from 'react ...

  3. pycharm下引用另外一个文件报错(如何引用另外一个文件)

    一个大项目,进行按功能分文件开发是很正常的,但是我今天遇到一个问题,就是一个文件引用另外一个功能的文件的时候,会报错,如下: 找了一圈,感觉都没人能给出一个正确的解释.后面发现,只要将当前文件所在的父 ...

  4. pom文件报错_maven-resources-plugin修改了我的文件

    起因 通过流式任务分析用户访问日志的过程中,需要把用户的远程IP解析成对应的省份和城市.再此过程中需要加载ip库文件.ip库文件统一放到项目src/main/resources的某个目录下,但是在加载 ...

  5. 导入项目jsp文件报错,但打开相应的文件并没有错误解决办法

    闲话说两句 明明知道项目没有问题,但是当你导入到eclipse中后他就给你各种毛病,就是不想让你看到想要的结果,这时候我已经心里很不爽了,但我不能砸了电脑啊!!!!!! 步入正题 在出错的项目右键-- ...

  6. pom文件报错常用解决方式

    现象: pom文件报错,依赖报错,build中的plugin报红,不管是让maven工程 Reimport 还是 Download Sources 最后删除项目再重新建都不行 解决: 删除未成功下载的 ...

  7. linux系统读取excel文件是否存在,小弟我用poi读excel,在window下没有有关问题,但把程序放到linux上时,读取客户端的excel文件报错,不...

    我用poi读excel,在window下没有问题,但把程序放到linux上时,读取客户端的excel文件报错,不知道如何解决 我用poi读excel,在window下没有问题,但把程序放到linux上 ...

  8. python 读取文件报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb5 in position 0: invalid start

    python 读取文件报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start ...

  9. python xlrd读取文件报错_python利用xlrd读取excel文件始终报错原因

    1.代码按照网上百度的格式进行书写如下: 但运行后,始终报错如下: 百度了xlrd网页: 分明支持xls和xlsx两种格式的文件,但运行始终报错. 最后找到原因是因为我所读取的文件虽然是以.xls命名 ...

最新文章

  1. 了解mysql的三种不同安装方式的区别
  2. android 判断时间是否过期_眉笔眉粉有保质期吗?怎么判断眉笔眉粉是否过期?...
  3. 目标检测的尽头是语言建模?Hinton团队提出Pix2Seq,性能媲美DETR
  4. java 微信请求_Java web微信请求拦截器(微信公众号开发)
  5. 数字ab写成c语言表达式,《C语言程序设计》复习题(21页)-原创力文档
  6. Model、ModelMap和ModelAndView的使用详解
  7. PHP基础题带详细答案,PHP基础语法试题(一)答案版.docx
  8. gulp——用自动化构建工具增强你的工作流程
  9. JCTools简介-增强的并发工具
  10. 上海财经大学计算机考研好不好,五所不错的财经类大学,不歧视,不压分,你会考虑吗?...
  11. 黑马程序员 Python学习笔记之 算数运算符
  12. 【观察】从实践到赋能再到引领,华为释放数据中心无限潜
  13. 中国第一程序员--求伯君
  14. AI笔记: 计算机视觉之图像边缘检测: Robert算子, Sobel算子, Laplace算子, LoG算子, Canny算子
  15. 下载正版Origin Pro 2022 教程 及 如何 激 活
  16. 解决Vscode使用LeetCode报错Failed to test the solution. Please open the output channel for details.
  17. 如何查看mysql的gtid_mode_配置MHA开启主从同步的时候会提示从库gtid_mode为ON的状态...
  18. 使用scrapy图片管道下载图片
  19. 系统之家 Win10_21H1 x64位 游戏专业版系统下载 2021.06
  20. 字节扁平化管理上热搜,老板张一鸣群内diss员工划水惨遭回怼!

热门文章

  1. EMAC和GMAC区别
  2. [Noi1999]钉子和小球
  3. ffmpeg中tbr tbc tbn的含义解释
  4. iOS系统逆向工程之神探侯佩智破量子矩阵
  5. 山海演武传·黄道·第一卷 雏龙惊蛰 第三章 九邪谷
  6. 制作ubuntu自定义系统镜像
  7. 7-11 输出大写英文字母 (15 分)
  8. 易语言游戏基址内存数据CEAA自动汇编脚本注入及CALL的调用
  9. 哪种耳机音质好又便宜?高性价比蓝牙耳机推荐
  10. order by语句使用