作⽤:path 模块是 Node.js 官⽅提供的、⽤来处理路径的模块。它提供了⼀系列的⽅法和属性,⽤来满 ⾜⽤户对路径的处理需求。
步骤:
- 引⼊path模块 const path = require('path');
- 调⽤path相关API对⽂件夹或者⽂件进⾏操作
示例:path.basename(path[, ext])
注意,路径后缀区分⼤⼩写,如果ext写的是.HTML⽽⽂件后缀是.html,则不会匹配成功
示例: path.join([...paths])
示例:获取路径中的⽂件扩展名 path.extname(path)
Tips: path.extname() ⽅法返回 path 的扩展名,即 path 的最后⼀部分中从最后⼀次出现的 .(句点) 字符到字符串的结尾。 如果 path 的最后⼀部分中没有 .,或者除了 path 的基本名称的第⼀个字符之外 没有 . 个字符,则返回空字符串。
示例: path.resolve([...paths])
给定的路径序列从右到左处理,每个后续的 path 会被追加到前⾯,直到构建绝对路径为⽌。 例如,给 定路径⽚段的序列:/foo、/bar、baz,调⽤ path.resolve('/foo', '/bar', 'baz') 将返回 /bar/baz,因为 'baz' 不是绝对路径,⽽ '/bar' + '/' + 'baz' 是。 path.resolve('/foo', '/bar', 'baz') 返回/bar/baz的结果是因为 path.resolve() 会将所有传递给它的路径 参数解析为绝对路径,并返回最后⼀个参数的绝对路径。
在这个例⼦中,/foo 和 /bar 都被视为绝对路径,因为它们以斜杠 / 开头,表示根⽬录下的路径。然 后,'baz' 是相对路径,但由于 path.resolve() 的⾏为,它会将最后⼀个参数解释为绝对路径。 所以,path.resolve('/foo', '/bar', 'baz') 返回的结果是 /bar/baz,因为它解析为根⽬录下的 /bar/baz 路径。 如果没有传⼊ path ⽚段,则 path.resolve() 将返回当前⼯作⽬录的绝对路径。
补充知识:
__dirname:表示当前模块的绝对路径。
__filename:表示当前模块的⽂件名,包括⽂件的绝对路径。