美文网首页
path模块学习

path模块学习

作者: Ordinary_zz | 来源:发表于2021-06-30 23:30 被阅读0次

    path.resolve()

    方法会将路径或路径片段的序列解析为绝对路径

    官方文档解释如下:
    path.resolve()方法会把一个路径或路径片段的序列解析为一个绝对路径。
    给定的路径的序列是从右往左被处理的,后面每个 `path` 被依次解析,直到构造完成一个绝对路径。 例如,给定的路径片段的序列为:`/foo`、`/bar`、`baz`,则调用 `path.resolve('/foo', '/bar', 'baz')` 会返回 `/bar/baz`。
    如果处理完全部给定的 `path` 片段后还未生成一个绝对路径,则当前工作目录会被用上。
    生成的路径是规范化后的,且末尾的斜杠会被删除,除非路径被解析为根目录。
    长度为零的 `path` 片段会被忽略。
    如果没有传入 `path` 片段,则 `path.resolve()` 会返回当前工作目录的绝对路径。
    例子:
    path.resolve('/foo/bar', './baz');
    // 返回: '/foo/bar/baz'
    path.resolve('/foo/bar', '/tmp/file/');
    // 返回: '/tmp/file'
    path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
    // 如果当前工作目录为 /home/myself/node,
    // 则返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'
    如果任何参数不是一个字符串,则抛出 [`TypeError`]
    

    path.join()

    官网文档解释如下:
    //path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。
    //长度为零的 path 片段会被忽略。 如果连接后的路径字符串是一个长度为零的字符串,则返回 '.',表示当前工作目录。
    path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
    // 返回: '/foo/bar/baz/asdf'
    path.join('foo', {}, 'bar');
    // 抛出 'TypeError: Path must be a string. Received {}'
    

    __dirname // 目录名

    当前模块的目录名。 
    示例:从 `/Users/mjr` 运行 `node example.js`
    console.log(__dirname);
    // 打印: /Users/mjr
    console.log(path.dirname(__filename));
    // 打印: /Users/mjr
    

    __filename // 文件名

    当前模块的文件名
    从 /Users/mjr 运行 node example.js
    console.log(__filename);
    // 打印: /Users/mjr/example.js
    console.log(__dirname);
    // 打印: /Users/mjr
    

    path.extname

    获取文件后缀
    `path.extname()` 方法返回 `path` 的扩展名,即从 `path` 的最后一部分中的最后一个 `.`(句号)字符到字符串结束。 如果 `path` 的最后一部分没有 `.` 或 `path` 的文件名(见 `path.basename()`)的第一个字符是 `.`,则返回一个空字符串。
    例子:
    path.extname('index.html');
    // 返回: '.html'
    path.extname('index.coffee.md');
    // 返回: '.md'
    path.extname('index.');
    // 返回: '.'
    path.extname('index');
    // 返回: ''
    path.extname('.index');
    // 返回: ''
    如果 `path` 不是一个字符串,则抛出 [`TypeError`]
    

    path.basename

    获取文件名
    `path.basename()` 方法返回一个 `path` 的最后一部分,类似于 Unix 中的 `basename` 命令。 没有尾部文件分隔符,请查阅[`path.sep`]
    例子:
    path.basename('/foo/bar/baz/asdf/quux.html');
    // 返回: 'quux.html'
    path.basename('/foo/bar/baz/asdf/quux.html', '.html');
    // 返回: 'quux'
    如果 `path` 不是一个字符串或提供了 `ext` 但不是一个字符串,则抛出 [`TypeError`]
    

    path.dirname

    获取文件目录
    `path.dirname()` 方法返回一个 `path` 的目录名,类似于 Unix 中的 `dirname` 命令。 Trailing directory separators are ignored, see [`path.sep`](https://www.nodeapp.cn/path.html#path_path_sep).
    例子:
    path.dirname('/foo/bar/baz/asdf/quux');
    // 返回: '/foo/bar/baz/asdf'
    如果 `path` 不是一个字符串,则抛出 [`TypeError`]
    

    相关文章

      网友评论

          本文标题:path模块学习

          本文链接:https://www.haomeiwen.com/subject/ixvtqltx.html