path用法

Full-Stack-python / 2023-08-26 / 原文

`path.js` 是一个用于处理文件和目录路径的 JavaScript 库。以下是一些常用的 `path.js` 方法及其详细参数说明:

 

1. `path.join(...paths)`:将多个路径片段连接在一起,形成一个完整的路径。可以传递任意数量的参数,参数之间用逗号分隔。

 

```javascript

const path = require('path');

 

const joinedPath = path.join('a', 'b', 'c'); // 'a/b/c'

```

 

2. `path.normalize(p)`:规范化给定的路径,消除路径中的冗余部分(如 "." 和 "..")。

 

```javascript

const path = require('path');

 

const normalizedPath = path.normalize('/a/b/../c'); // '/a/c'

```

 

3. `path.resolve(from, to)`:将相对路径解析为绝对路径。如果提供了两个参数,第一个参数是相对路径,第二个参数是目标路径。

 

```javascript

const path = require('path');

 

const resolvedPath = path.resolve('./foo', '../bar'); // '/bar/foo'

```

 

4. `path.relative(from, to)`:计算从 `from` 路径到 `to` 路径的相对路径。返回一个字符串,表示从 `from` 到 `to` 的相对路径。

 

```javascript

const path = require('path');

 

const relativePath = path.relative('/a/b', '/a/c'); // '../c'

```

 

5. `path.isAbsolute(p)`:判断给定的路径是否为绝对路径。如果是绝对路径,则返回 `true`,否则返回 `false`。

 

```javascript

const path = require('path');

 

const isAbsolute = path.isAbsolute('/a/b'); // true

```

 

6. `path.extname(p)`:获取路径的扩展名。返回一个字符串,表示路径的扩展名(包括点)。

 

```javascript

const path = require('path');

 

const extname = path.extname('/a/b/c.js'); // '.js'

```

 

7. `path.basename(p)`:获取路径的基本名称。返回一个字符串,表示路径的最后一部分(不包括扩展名)。

 

```javascript

const path = require('path');

 

const basename = path.basename('/a/b/c.js'); // 'c.js'

```

 

8. `path.dirname(p)`:获取路径的目录名。返回一个字符串,表示路径的目录部分(包括最后一个斜杠)。

 

```javascript

const path = require('path');

 

const dirname = path.dirname('/a/b/c.js'); // '/a/b'

```

 

9. `path.parse(str)`:将给定的字符串解析为一个路径对象。可以解析包含 Unix 风格的斜杠和 Windows 风格的反斜杠的路径。

 

```javascript

const path = require('path');

 

const parsedPath = path.parse('/a/b/c\\d.txt'); // { root: '/', dir: '/', base: 'c', ext: '.txt' }

```

 

10. `path.format(obj)`:将一个路径对象格式化为一个字符串。可以自动添加必要的斜杠和反斜杠。

 

```javascript

const path = require('path');

 

const formattedPath = path.format({ root: '/', dir: '/', base: 'c', ext: '.txt' }); // '/c/d.txt'

```