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

相关推荐
GUIQU.4 小时前
【node.js】数据库与存储
数据库·node.js
黑风风16 小时前
Ubuntu 安装 Node.js 指定版本指南
ubuntu·node.js·vim
GUIQU.16 小时前
【node.js】入门基础
node.js
flex888816 小时前
【开源】一个基于 Vue3 和 Electron 开发的第三方网易云音乐客户端,具有与官方客户端相似的界面布局
开源·node.js·vue
ZL_KZN16 小时前
nodejs快速入门到精通1
node.js
Q_Q196328847517 小时前
python宠物用品商城系统
开发语言·spring boot·python·django·flask·node.js·php
binnnngo1 天前
解决npm install报错:getaddrinfo ENOTFOUND registry.nlark.com
前端·npm·node.js
Strive_Sun1 天前
分析 vscode 运行 node.js 闪退时的场景
ide·vscode·node.js·编辑器
胡西风_foxww1 天前
Node.js聊天室开发:从零到上线的完整指南
websocket·node.js·express·聊天室
c_zyer2 天前
使用 nvm 管理 Node.js 和 npm 版本
前端·npm·node.js