解决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); });