fs-处理路径问题 __dirname
fs 模块-路径动态拼接的问题
在使用fs模块操作文件时,如果提供的操作路径是以 ./或../开头的相对路径时,很容易出现路径动态拼接错误的问题。
原因:代码在运行的时候,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径。
解决方案:在使用fs模块操作文件时,直接提供完整的路径,不要提供./或../开头的相对路径,从而防止路径动态拼接的问题
fs.readFile('./files/1.txt','utf8',function(err,dataStr){
if(err) return console.log('读取文件失败!' + err.message)
console.log(dataStr)
})
// __dirname表示当前文件所处的目录
fs.readFile(__dirname + '/files/1.txt','utf8',function(err,dataStr){
if(err) return console.log('读取文件失败!' + err.message)
console.log(dataStr)
})