当前位置: 首页 > news >正文

fs模块-路径动态拼接的问题

1、在使用fs模块操作文件时,如果提供的操作路径是以./或../开头的相对路径时,很容易出现路径拼接错误的问题。
原因:代码在运行的时候,会以执行node命令所处的目录,动态拼接出被操作文件的完整路径。

const fs = require('fs')
fs.readFile('./files/1.txt', 'utf8', function(err, dataStr){if(err){return console.log('读取文件失败'+err.message)}console.log('读取文件成功!'+dataStr)
})
//这种以./开头的是相对路径,以相对路径开头的,很容易出现路径动态拼接错误的问题。
//比如说,先到这个文件的上一级,然后再用文件夹/node 05...拼接而成,这样是会出错的
//如何解决这个问题呢?把相对路径换成一个完整的绝对路径就行了
fs.readFile('D:\\APPdata\\Node.js DATA\\files\\1.txt', 'utf8', function(err, dataStr){
//在文件路径中,一个\具有转义的意思,补全\\两个斜杠或者/就行了。if(err){return console.log('读取文件失败'+err.message)}console.log('读取文件成功!'+dataStr)
})
//但是绝对路径的移植性非常差,不利于维护

2、

const fs = require('fs')
//__dirname表示当前文件所处的目录
console.log(__dirname)

3、引入'__dirname',不要再使用./或者../相对路径了

const fs = require('fs')
fs.readFile(__dirname+'/files/1.txt', 'utf8', function(err, dataStr){if(err){return console.log('读取文件失败'+err.message)}console.log('读取文件成功!'+dataStr)
})
http://www.jsqmd.com/news/421858/

相关文章:

  • Spark与Arctic集成:流批一体数据湖方案
  • AI辅助写作:提升技术文档创作效率的秘诀
  • 题解:洛谷 B2024 输出浮点数
  • 2026年AI智能产品开发行业谁在定义新标准?
  • 2.28总结
  • 2、Python数据结构与函数(配套函数)
  • 软考2026上半年报名在即,这几项资料请提前准备!
  • 基于STM32F103为主控的5KW 混合储能系统48V电池+500V光伏+220V逆变(AD...
  • 大数据处理中 Kafka 的安全配置与防护
  • 3、Python进阶操作
  • 题解:洛谷 B2022 输出保留 12 位小数的浮点数
  • Tita AI 场景化攻略:AI生成项目,让项目规划不再茫然
  • 博客索引
  • 3、Python进阶操作(配套答案)
  • AI提示设计市场需求大解密,提示工程架构师的机会窗口
  • 题解:洛谷 B2023 空格分隔输出
  • 2、Python数据结构与函数
  • SmolRTSP:在嵌入式系统中实现高效 RTSP 流媒体服务的开源实践
  • Qt实现自定义字符串生成二维码(附完整源码+详细解析)
  • 深圳猎头公司前十强权威榜单(2026最新版)——含深度分析及联系电话 - 品牌企业推荐师(官方)
  • 基于Uniapp的会员卡储值消费系统开发实践
  • 免疫力补剂怎么选?2026免疫增强红黑榜权威发布:真正的“抵抗力之王”浮出水面 - 品牌企业推荐师(官方)
  • 2026年度免疫力巅峰榜发布:少生病的真相——公认的免疫系统功能修复技术权威排名 - 品牌企业推荐师(官方)
  • 谷歌生图新王Nano Banana 2深夜突袭!附使用教程+生成案例
  • 单文件媒体工具全家桶:3FUI、Mp3tag、krc 转 exe、oCam、ScreenToGif,高效搞定音频 / 视频 / 录屏全场景(附实操教程)
  • 2026高性价比钻戒品牌推荐:纪派珠宝领衔,十大国产品牌深度解析 - 品牌企业推荐师(官方)
  • 钻戒什么品牌好?2026年培育钻石定制品牌深度评测与选购指南 - 品牌企业推荐师(官方)
  • 2026年上海猎头公司精选:五家实力派猎企深度解析 - 品牌企业推荐师(官方)
  • 如何选购钻戒?从4C到品牌:2026高性价比钻戒选购全攻略 - 品牌企业推荐师(官方)
  • 题解:【MYCOI R1】好想大声说爱你