才入坑,小白
path.join('foo/', 'baz/', '../bar'); // => "foo/bar"
为什么会把baz/忽略掉?
是../向上一级之后与baz同级,所以默认使用后面的
path.dirname('/foo/bar/baz/asdf/quux');// Returns: '/foo/bar/baz/asdf'
为什么会把quux忽略掉?是默认quux是文件吗?
才入坑,小白
path.join('foo/', 'baz/', '../bar'); // => "foo/bar"
为什么会把baz/忽略掉?
是../向上一级之后与baz同级,所以默认使用后面的
path.dirname('/foo/bar/baz/asdf/quux');// Returns: '/foo/bar/baz/asdf'
为什么会把quux忽略掉?是默认quux是文件吗?
3 回答2.6k 阅读✓ 已解决
1 回答968 阅读✓ 已解决
2 回答1.2k 阅读
1 回答1.1k 阅读✓ 已解决
2 回答644 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.1k 阅读
path.join('foo/', 'baz/', '../bar')
直接拼接的结果是foo/baz/../bar
,归约之后就是foo/bar
,归约前后指向的是同一个位置,但是明显后面这个更简洁。path.dirname 是直接去掉路径的最后一段,而且文档中提到,如果是以目录分隔符结尾,这个分隔符会被忽略掉。