【Node.js】path 模块进行路径处理

Node.js 执行 JS 代码时,代码中的路径都是以终端所在文件夹出发查找相对路径,而不是以我们认为的从代码本身出发,会遇到问题,所以在 Node.js 要执行的代码中,访问其他文件,建议使用绝对路径

实例:

  1. 问题原因:就是从代码文件夹出发,使用../text.txt解析路径,找不到目标文件,报错了!

  2. 解决方案:使用模块内置变量 __dirname配合 path.join() 来得到绝对路径使用

    js 复制代码
    const fs = require('fs')
    console.log(__dirname) // D:\备课代码\2_node_3天\Node_代码\Day01_Node.js入门\代码\03
    
    // 1. 加载 path 模块
    const path = require('path')
    // 2. 使用 path.join() 来拼接路径
    const pathStr = path.join(__dirname, '..', 'text.txt')
    console.log(pathStr)
    
    fs.readFile(pathStr, (err, data) => {
      if (err) console.log(err)
      else console.log(data.toString())
    })
  3. 再次执行查看问题就被修复了!以后在 Node.js 要执行的 JS 代码中访问其他文件的路径,都建议使用绝对路径。

相关推荐
Spider_Man3 小时前
别再用Express了!用Node.js原生HTTP模块装逼的正确姿势
前端·http·node.js
Spider_Man4 小时前
Node.js 胡编乱造机:让代码帮你写鸡汤,灵感不求人!🧙‍♂️✨
前端·javascript·node.js
若梦plus15 小时前
Node.js中util.promisify原理分析
前端·node.js
濮水大叔20 小时前
如何基于动态关系进行ORM关联查询,并动态推断DTO?
typescript·node.js·orm
神仙别闹21 小时前
基于Vue+Node.js(Express)实现(Web)物联网的蔬菜大棚温湿度监控系统
前端·vue.js·node.js
树獭叔叔1 天前
Node.js 事件循环:单线程模型下的并发魔法
后端·node.js
计算机毕设定制辅导-无忧学长1 天前
InfluxDB 与 Node.js 框架:Express 集成方案(二)
node.js·express
Spider_Man1 天前
缓存策略大乱斗:让你的页面快到飞起!
前端·http·node.js
BUG收容所所长1 天前
如何用 Node.js 构建一个智能文章生成器?从零开始的技术实践之旅
前端·node.js·设计
Song5591 天前
搭建自己的BFF——基于 nodejs 实现微服务内核引擎
node.js