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

相关推荐
啃火龙果的兔子1 小时前
可以指定端口启动本地前端的npm包
前端·npm·node.js
葛小白13 小时前
Node.js网页本地部署
node.js
jun_不见4 小时前
nest初体验-用nest实现一个简单的CRUD功能
前端·node.js·全栈
我没想到原来他们都是一堆坏人5 小时前
常用npm源与nrm
前端·npm·node.js
Asurplus5 小时前
Centos7安装Node.js环境
centos·node.js·nvm·nodesource
李广山Samuel1 天前
四、Node-OPCUA 进阶(2)-OPCUA服务器(一)
node.js
妮妮喔妮1 天前
Webpack和Vite优化的区别
前端·webpack·node.js
谢尔登1 天前
a 标签的跳转机制
前端·javascript·webpack·node.js
小皮虾1 天前
搞全栈还在纠结 POST、GET、RESTful?试试这个,像调用本地函数一样写接口
前端·node.js·全栈
程序员爱钓鱼1 天前
Node.js 编程实战:路由与中间件
前端·后端·node.js