一、url

url 模块,专门用来处理 url 相关的操作。

  1. url.parse(urlString[, parseQueryString])
  2. url.format(urlObject)

image.png

红色url地址上方的是 url 模块所规定的 url的组成部分。(过时的)
红色url地址下方的是 WHATWG URL Standard 规范所规定的 url的组成部分

二、querystring

querystring 模块,专门用来处理形如 key1=value1&key2=value2 这种格式的数据的

  1. querystring.parse(str[, sep[, eq]])
  2. querystring.stringify(obj[, sep[, eq]])

三、fs

fs 模块,专门用来处理文件相关的操作。读文件、写文件等

四、path

path 模块,专门用来处理路径相关的操作

  1. path.resolve([…path])
  2. path.join([…path])

path.resolve()与path.join()的区别

  1. 对于以 / 开始的路径片段,path.join 只是简单的将该路径片段进行拼接,而 path.resolve 将以 / 开始的路径片段作为根目录,在此之前的路径将会被丢弃
  1. path.join('/a', '/b'); // \a\b
  2. path.resolve('/a', '/b'); // F:\b
  1. path.resolve 总是返回一个相对于当前的工作目录(working directory)的绝对路径。
  1. path.join('./a', './b') // a\b
  2. path.resolve('./a', './b') // F:\code\a\b

五、dirname 与 filename

dirname 、filename 是每个模块文件中默认存在的变量,可以直接使用不需要引入。

__dirname: 当前模块的目录名
__filename: 当前模块的文件名