Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,./ 会返回你执行 node 命令的路径

path 模块提供了一些用于处理文件与目录的路径的实用工具,使用如下方式访问

  1. const path = require('path');

1. path.join

  1. const path1 = path.join(__dirname, '/foo');
  2. const path2 = path.join(__dirname, './foo/bar');
  3. const path3 = path.join('/foo', 'bar', '/baz/apple', 'aaa', '..');
  4. const path4 = path.join('foo', 'bar', 'baz');
  5. console.log(path1);
  6. console.log(path2);
  7. console.log(path3);
  8. console.log(path4);
  9. // 输出结果
  10. /Users/xiao/work/test/foo
  11. /Users/xiao/work/test/foo/bar
  12. /foo/bar/baz/apple
  13. foo/bar/baz

2. path.resolve

  1. const path = require('path');
  2. const path1 = path.resolve('/a/b', '/c/d');
  3. // 结果: /c/d
  4. const path2 = path.resolve('/a/b', 'c/d');
  5. // 输出: /a/b/c/d
  6. const path3 = path.resolve('/a/b', '../c/d');
  7. // 输出: /a/c/d
  8. const path4 = path.resolve('a', 'b');
  9. // 输出: /Users/xiao/work/test/a/b

「@浪里淘沙的小法师」