node.js中path模块-路径处理,语法讲解

简介: node.js中path模块-路径处理,语法讲解
node中的path 模块是node.js的基础语法,实际开发中,我们通过使用 path 模块来得到绝对路径,避免因为相对路径带来的找不到资源的问题。

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

1、新建 03 文件夹编写待执行的 JS 代码,访问外层相对路径下的文件,然后在最外层终端路径来执行目标文件,造成问题

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

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

const fs = require('fs')
console.log(__dirname) //__dirname可以动态获取当前文件所在文件夹的绝对路径 在我的电脑上会打印出:D:\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())
})

4、再次执行查看问题就被修复了!以后在 Node.js 要执行的 JS 代码中访问其他文件的路径,都建议使用绝度路径

本专栏后续会持续分享node.js与前端工程化的相关技能,从基础到高级,欢迎大家订阅!

相关文章
|
9月前
|
JavaScript 前端开发
在Node.js中,如何合理使用模块来避免全局变量的问题?
在Node.js中,如何合理使用模块来避免全局变量的问题?
334 71
|
6月前
|
JavaScript 前端开发 开发者
JavaScript中的箭头函数:简洁的语法与this绑定
JavaScript中的箭头函数:简洁的语法与this绑定
489 184
|
9月前
|
JavaScript 前端开发 开发者
Node学习笔记:HTTP模块
总的来说,Node.js的HTTP模块是一个强大的工具,可以帮助你处理HTTP协议的各种需求。无论你是想开设自己的餐厅(创建服务器),还是想去别的餐厅点菜(发出请求),HTTP模块都能满足你的需求。
302 18
|
9月前
|
JSON 前端开发 Serverless
Mock.js 语法结构全解析
Mock.js 的语法规范介绍,从数据模板定义规范和数据占位符定义规范俩部分介绍, 让你更好的使用 Mock.js 来模拟数据并提高开发效率。
|
JavaScript 前端开发
JavaScript 函数语法
JavaScript 函数是使用 `function` 关键词定义的代码块,可在调用时执行特定任务。函数可以无参或带参,参数用于传递值并在函数内部使用。函数调用可在事件触发时进行,如用户点击按钮。JavaScript 对大小写敏感,函数名和关键词必须严格匹配。示例中展示了如何通过不同参数调用函数以生成不同的输出。
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
274 0
|
JavaScript 应用服务中间件 Apache
Node.js Web 模块
10月更文挑战第7天
145 0
|
JavaScript 网络协议
Node.js 工具模块
10月更文挑战第7天
135 0
|
JavaScript 关系型数据库 MySQL
Node.js学习笔记----mysql模块
Node.js学习笔记----mysql模块
|
JavaScript
Node.js学习笔记----模块的加载机制
Node.js学习笔记----模块的加载机制