跳到主要内容

nodejs-path

引入模块

const path = require('path')

API

  1. path.resolve([...paths])

    将路径片段、路径解析成绝对路径

path.resolve('/a/b', './c') // => '/a/b/c'
path.resolve('/a/b', '/c/d') // => '/c/d'
path.resolve('a', 'b/c/', '../d/e.gif')
// 如果当前路径是 => '/1/2'
// => '/1/2/a/b/d/e.gif'
  • 当处理完所有路径片段之后仍然没有返回绝对路径,则返回当前工作目录的绝对路径
  • /path作为第一个参数,输出 当前工作目录绝对路径/path/...
  • path作为第一个参数,直接跳过该参数,输出 当前工作目录绝对路径/...
  • 输入 path参数不为字符串,抛出 TypeError
  • path.resolve()不传参直接输出当前工作目录的绝对路径

全局变量

看似是全局变量,其实只在模块的作用域内存在

  1. __dirname 当前模块的目录名,相当于path.dirname()
  2. __filename 当前模块名字,当前文件绝对路径
  3. exports 在模块的文件级作用域内可用,在模块执行之前赋值给module.exports