Nodejs基础——path模块

470 阅读2分钟

「这是我参与2022首次更文挑战的第6天,活动详情查看:2022首次更文挑战」。

前言

以前总是对学习全栈开发嗤之以鼻,觉得做前端就学好前端就 ok,毕竟术业有专攻,况且前端的技术内容繁杂且日新月异,但今时不同往日现在觉得以前的自己还是太年轻,以前的想法被完全颠覆了。近几年大前端、低代码、微前端、Serverless 等众多技术思想如雨后春笋般涌出,前端发展大好,想要更好的做好前端,学习全栈开发只会锦上添花。最重要的是不再依赖于后端小伙伴,可以自由地调试实践,把自己的想法变成现实或者一个完整的产品(这会是一件有趣的事情),那么就现在从学习 Nodejs 开始吧,再出发🏄

概念

path 模块是 Nodejs 官方提供用来处理路径模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。

无需安装,作为 Nodejs 核心组成部分,可以通过简单的引用来使用它。

const path = require('path')

API

path.basename(path[,ext])

用来从路径字符串中解析出文件名。

参数说明:

  • path- 必选,表示一个路径的字符串
  • ext- 可选,表示文件扩展名

返回, 表示路径中的最后一部分

const path = require('path')
const filePath = '/a/b/c/index.html'

const fullFileName = path.basename(filePath)
console.log(fullFileName) // 输出:index.html

const fileNameWithoutExt = path.basename(filePath, '.html')
console.log(fileNameWithoutExt) // 输出:index

path.join(path)

用来将多个路径片段拼接成一个完整的路径字符串。

const path = require('path')

const pathStr1 = path.join('/a', '/b/c/d', '../e')

console.log(pathStr1) //\a\b\c\e

const pathStr2 = path.join(__dirname, './demo.js')
console.log('当前文件所处目录:', pathStr2) //D:\lemon\Node\node-start\path\demo.js

注意:../会抵消前面的路径 现在如果再让我们读取文件的话,可以使用 path.join():

// path/demo.js
const fs = require('fs')

fs.readFile(path.join(__dirname, '../fs/demo.txt'), 'utf-8', (err, data) => {
  if (err) {
    return console.log('读取文件失败:', err)
  }
  console.log('读取文件成功:', data)
})

path.extname(path)

返回路径的扩展名部分。

const path = require('path')
const filePath = '/a/b/c/index.html'
const fileExtName = path.extname(filePath)
console.log(fileExtName) // 输出:.html

path.dirname(path)

返回路径的目录部分

const path = require('path')
const filePath = '/a/b/c/index.html'
console.log(path.dirname(filePath)) // a/b/c

最后

参考:nodejs 教程

如果有错别字或者不对的地方欢迎指出,将在第一时间改正,有更好的实现或想法欢迎留下你的评论 🔥