path
[TOC]
索引
方法:
- path.dirname():
(p),获取文件目录。 - path.basename():
(p, extension?),获取文件名。 - path.extname():
(p),获取文件扩展名。 - path.join():
(...paths?),用于将多个路径片段拼接成一个完整的路径(解析./和../)。 - path.resolve():
(...paths?),将多个路径拼接(解析./和../),返回一个绝对路径。
path
方法
dirname()
path.dirname():(p),获取文件目录。
p:
string,路径字符串文件路径字符串:返回该文件所在的目录部分目录路径字符串:返回该目录的上一级目录
返回:
dir:
string,返回该路径的目录部分- js
const path = require('path') console.log(path.dirname('/Users/johndoe/Documents/file.txt')) // /Users/johndoe/Documents console.log(path.dirname('/Users/johndoe/Documents/')) // /Users/johndoe
basename()
path.basename():(p, extension?),获取文件名。
p:
string,要获取文件名的路径字符串。extension?:
string,指定要排除的文件扩展名。返回:
filename:
string,返回文件名。- js
const path = require('path') const filename = path.basename('/Users/johndoe/Documents/file.txt') // file.txt const filename = path.basename('/Users/johndoe/Documents/file.txt', '.txt') // file
extname()
path.extname():(p),获取文件扩展名。
p:
string,要获取文件扩展名的路径字符串返回:
extension:
string,返回文件扩展名- js
const path = require('path') path.extname('/Users/johndoe/Documents/file.txt') // .txt path.extname('/Users/johndoe/Documents/file') // '' path.extname('/Users/johndoe/Documents/') // ''
join()
path.join():(...paths?),用于将多个路径片段拼接成一个完整的路径(解析./和../)。
...paths?:
string,要拼接的路径片段。返回:
joinedPath:
string,返回拼接完成的路径。注意:
join()可以兼容不同操作系统的分隔符。join()可以解析./和../。
- js
const path = require('path') path.join('/path', 'to', 'directory') // /path/to/directory // 注意:此处和resolve不同 path.join('/path/', '/to/', '/directory/') // /path/to/directory path.join('/path', '../relative') // /relative
resolve()
path.resolve():(...paths?),将多个路径拼接(解析./和../),返回一个绝对路径。
...paths?:
string,要解析的路径片段。返回:
resolvedPath:
string,返回解析完成的绝对路径。注意:
- 拼接顺序从右到左,依次解析 path,直到构成一个绝对路径。若始终没有形成绝对路径,则继续拼接当前工作目录。
- 返回的路径会去除尾部的/
- 不传参数,返回当前目录
resolve()可以解析./和../
- js
const path = require('path'); path.resolve('/path', 'to', 'directory')) // /path/to/directory path.resolve('/path/', '/to/', '/directory/') // /directory path.resolve('/path', '../relative') // /relative path.resolve('abc.txt') // /Users/04_learn_node/06_常见的内置模块/02_文件路径/abc.txt - js
// 应用:在 webpack 中使用 resolve() const CracoLessPlugin = require('craco-less') const path = require('path') const resolve = (dir) => path.resolve(__dirname, dir) module.exports = { plugins: [ { plugin: CracoLessPlugin, options: { lessLoaderOptions: { lessOptions: { modifyVars: { '@primary-color': '#1DA57A' }, javascriptEnabled: true } } } } ], webpack: { alias: { '@': resolve('src'), components: resolve('src/components') } } }