首页 > 编程语言 >Node.js(笔记03) - path 路径模块

Node.js(笔记03) - path 路径模块

时间:2022-12-22 16:32:13浏览次数:72  
标签:Node 03 const 路径 js 扩展名 html path extname

path 路径模块

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

官方文档:​​https://nodejs.org/dist/latest-v18.x/docs/api/path.html​

例如:

path.join() 方法

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

path.basename()方法

用来从路径字符串中,将文件名解析出来;

path.extname() 方法

从路径字符串中,获得文件的扩展名;

要使用 path 路径模块,就需要先导入:

const path = require('path')

使用什么模块,都要先引入模块;


path.join() 拼接

使用 path.join() 方法,可以把多个路径片段拼接为完整的路径字符串

path.join([...paths])

-- ...paths <string> 路径片段的序列

-- 返回值:<string>

示例1:

const pathStr = path.join('/a','/b/c','../','./d','e')
console.log(pathStr); // a\b\d\e

提示1:共传递了五个路径片段;

提示2:其中有个 '​../​​',是返回到上一层路径,所以会抵消一层路径;如果有两个 '​../../​',则会抵消最近的两层路径;

示例2:

const pathStr2 = path.join(__dirname,'./files/demo.html')
console.log(pathStr2); // D:\Pro_Temp\nodejs\files\demo.html

提示:使用 ​__dirname​ 可以拼接完整路径;

注意:凡是涉及路径拼接的操作,都使用 path.join() 方法处理; 

1)不建议使用 "+" 连接符来拼接,容易出错,比如:

const pathStr3 = __dirname + "./files/poem.md"
console.log(pathStr3); // D:\Pro_Temp\nodejs./files/poem.md

注意:拼接路径多出了一个点,这就是个错误的路径;

2)路径拼接的参数是合法的字符串,其他数据类型会报错:

const pathStr4 = path.join(__dirname , 123 , './files/poem.md')
console.log(pathStr4);

这么写会报错:

throw new ERR_INVALID_ARG_TYPE(name, 'string', value);

再次提醒了参数必须是 字符串类型;


path.basename() 获取文件名

使用 path.basename() 方法,可以从文件路径中,获取文件的名称部分;

path.basename(path[, suffix])

-- path :一串文件路径的字符串;

-- suffix : 可选参数,要删除的文件后缀,就是扩展名;

-- 返回的结果也是 string ;

示例1:

const pathStr = "/foo/bar/baz/asdf/quux.html"
const fileName = path.basename(pathStr)
const fileNameWithoutExt = path.basename(pathStr,'.html')

console.log(fileName); // quux.html
console.log(fileNameWithoutExt); // quux

提示:不加参数就返回文件全名,要去掉扩展名就加个扩展名的参数;

示例2:

const pathStr = 'foo/bar/index.HTML'
const fileName = path.basename(pathStr,'.html')
console.log(fileName); //index.HTML

注意:扩展名参数是区分大小写的,不能完全匹配到,就会完整输出文件名;


path.extname() 获取扩展名

使用 path.extname() 方法,可以获取路径中的扩展名部分;

path.extname(path)

-- path :<string> 必须参数,表示路径字符串;

返回 string ,扩展名字符串

示例1:

const pathStr = 'a/b/c/index.html'
const extName = path.extname(pathStr)
console.log(extName); // .html

提示:输出扩展名,是会带上 "." 的;

示例2:特殊点的情况

path.extname('index.html');       // Returns: '.html'
path.extname('index.coffee.md'); // Returns: '.md'
path.extname('index.'); // Returns: '.'
path.extname('index'); // Returns: ''
path.extname('.index'); // Returns: ''
path.extname('.index.md'); // Returns: '.md'

提示:一般路径都有 "​文件名.扩展名​",免不了些特殊情况,只能记住。


标签:Node,03,const,路径,js,扩展名,html,path,extname
From: https://blog.51cto.com/ahuiok/5962993

相关文章