【Node内置模块】path路径

2021/08/26 18:34:22

引用方式

const path = require("path");

介绍

path 用于处理路径,可以从文件路径中获取文件名、后缀名等信息。

方法及属性

path.basename(path, ext?)

获取 path 中的最后一部分,二参中的扩展名会被忽略。

path.basename("/foo/bar/baz/asdf/quux.html");
// 返回: 'quux.html'

path.basename("/foo/bar/baz/asdf/quux.html", ".html");
// 返回: 'quux'

let filePath = "/foo/bar/baz/asdf/quux.html";
path.basename(filePath, path.extname(filePath));
// 返回: 'quux'

path.dirname(path)

获取 path 的目录名,尾随的目录分隔符被忽略。

path.dirname("/foo/bar/baz/asdf/quux");
// 返回: '/foo/bar/baz/asdf'

path.extname(path)

方法返回 path 的扩展名,即 path 的最后一部分中从最后一次出现的 .(句点)字符(包含)到字符串的结尾。

如果 path 的最后一部分中没有 .,或者除了 path 的基本名称的第一个字符之外没有 . 个字符,则返回空字符串。

path.extname("index.html");
// 返回: '.html'

path.join(...paths)

用特定于平台的分隔符将路径连接起来。

path.join("/name", "/age", "index.js");
// windows下返回:'\name\age\index.js'

path.sep

返回特定于平台的路径片段分隔符。

路径对象

一个路径对象包含的属性如下:

type pathObjectType = {
  dir: string;
  root: string;
  base: string;
  name: string;
  ext: string;
};

各属性对应值如下:

┌─────────────────────┬────────────┐
│          dir        │    base    │
├──────┬              ├──────┬─────┤
│ root │              │ name │ ext │
"  /    home/user/dir / file  .txt "
└──────┴──────────────┴──────┴─────┘

注意

各平台路径分隔符会有差异,要连接路径尽量用 path.join() 方法。

参考

path 路径open in new window