持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情
前言
最近在研究如何开发vscode插件,不可避免就要调用node.js的底层api,最经常用到的就是fs和path这两个,因为要不断获取和操作文件信息,下面我就把我使用的一些api做一下介绍
Path
join
join是将所有的传入的路径参数整合成一个规范的路径输出,可以从下图看到即使我们输入的是不规范的文件路径,path内部输出的d:\project\test\package.json,
./表示当前目录../表示上级目录
resolve
resolve将一系列路径或路径段解析为绝对路径
resolve和join都用来进行路径片段的连接,但是区别有两点:
- resolve会生成绝对路径,而join只是返回当前连接的路径。
- resolve会以最后出现的 ‘/’为起点,作为根路径,忽略前面的片段,而join不会。
extname
path.extname()方法返回路径的扩展名,从最后出现的.(句号)字符到路径最后部分的字符串结束。如果在路径的最后部分没有.,或者除了路径的基名(见path.basename())的第一个字符外没有.字符,则返回空字符串。
basename
path.basename()方法返回一个路径的最后部分, 第二个参数为可选的文件扩展名
path.basename('/foo/bar/baz/asdf/quux.html');
// Returns: 'quux.html'
path.basename('/foo/bar/baz/asdf/quux.html', '.html');
// Returns: 'quux'