前言
path 模块是 nodejs 中用于处理文件/目录路径的一个内置模块,可以看作是一个工具箱,提供诸多方法供我们使用,当然都是和路径处理有关的。同时在前端开发中 path 模块出现的频率也是比较高的,比如配置 webpack 的时候等。本文是对该模块中一些常用的方法进行介绍,走,一起学习下吧。
- 需要注意下,nodejs 中所有的模块(内置,自定义)都需要使用 requier 进行导入,一般导入位置在文件顶部。
const path = require('path');
API
basename (获取路径基础名)
- path.basename(path[,ext])* path:文件/目录路径* ext:(可选)文件扩展名 例如 .js .css 等* 返回值:path 路径的最后一部分
- 注意:* 如果 path 不是字符串或者给定的 ext 参数不是字符串,则抛出 TypeError* 如果有 ext 参数,当 ext 后缀名与文件名匹配上时返回的文件名会省略文件后缀* 如果 path 尾部有目录分隔符则会被忽略
const path = require("path");
path.basename('./ext/test.js') //test.js
path.basename('./ext/test.js','.js') //test (当后缀名与文件名匹配上时返回的文件名会省略文件后缀)
path.basename('./ext/test.js','.html') //test.js (没有匹配上时返回文件全名)
path.basename('./ext/foo/') // foo (尾部目录分隔符被忽略)
dirname (获取路径目录名)
- path.dirname(path)* path:文件/目录路径* 返回值:path 路径的目录名
- 注意:* 如果 path 不是字符串,则抛出 TypeError* 如果 path 尾部有目录分隔符则会被忽略
const path = require("path");
path.dirname('./foo/bar/baz'); //./foo/bar (相对路径/绝对路径均可)
path.dirname('/foo/bar/baz/'); // /foo/bar (尾部目录分隔符被忽略)
path.dirname('/foo/bar/baz/test.js'); // /foo/bar/baz
extname (获取路径扩展名)
- path.extname(path)* path:文件/目录路径* 返回值:path 路径的扩展名,从最后一次出现 ‘.’ 字符到 path 最后一部分的字符串结束,无扩展名则返回空
- 注意:* 如果 path 不是字符串,则抛出 TypeError
const path = require("path");
path.extname('foo/bar/baz/test.js'); // .js
path.extname('foo/bar/baz');// '' (无扩展名返回 '')
path.extname('foo/bar/baz/.'); // ''
path.extname('foo/bar/baz/test.'); // '.'
path.extname('foo/bar/baz/.test'); // ''
pat