Node.js API实践

248 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情

前言

最近在研究如何开发vscode插件,不可避免就要调用node.js的底层api,最经常用到的就是fs和path这两个,因为要不断获取和操作文件信息,下面我就把我使用的一些api做一下介绍

Path

join

join是将所有的传入的路径参数整合成一个规范的路径输出,可以从下图看到即使我们输入的是不规范的文件路径,path内部输出的d:\project\test\package.json,

  • ./表示当前目录
  • ../表示上级目录

image.png

image.png

resolve

resolve将一系列路径或路径段解析为绝对路径

resolve和join都用来进行路径片段的连接,但是区别有两点:

  1. resolve会生成绝对路径,而join只是返回当前连接的路径。
  2. resolve会以最后出现的 ‘/’为起点,作为根路径,忽略前面的片段,而join不会。

image.png

extname

path.extname()方法返回路径的扩展名,从最后出现的.(句号)字符到路径最后部分的字符串结束。如果在路径的最后部分没有.,或者除了路径的基名(见path.basename())的第一个字符外没有.字符,则返回空字符串。

image.png

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'