【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 代码中访问其他文件的路径,都建议使用绝对路径。

相关推荐
汤姆Tom1 天前
Node.js 版本管理、NPM 命令、与 NVM 完全指南
前端·npm·node.js
RoyLin2 天前
TypeScript设计模式:原型模式
前端·后端·node.js
RoyLin2 天前
TypeScript设计模式:单例模式
前端·后端·node.js
RoyLin2 天前
TypeScript设计模式:工厂方法模式
前端·后端·node.js
RoyLin2 天前
TypeScript设计模式:模板方法模式
前端·后端·node.js
RoyLin3 天前
TypeScript设计模式:适配器模式
前端·后端·node.js
RoyLin3 天前
TypeScript设计模式:迭代器模式
javascript·后端·node.js
前端双越老师3 天前
2025 年还有前端不会 Nodejs ?
node.js·agent·全栈
人工智能训练师4 天前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
Seveny074 天前
pnpm相对于npm,yarn的优势
前端·npm·node.js