Node.js path.join反向操作

时间:2017-07-14 02:06:26

标签: node.js path

Node.js API中的示例

path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// Returns: '/foo/bar/baz/asdf'

但如何从'/ foo / bar / baz / asdf'和''baz / asdf'获得“/ foo / bar”?

path.magic('/foo/bar/baz/asdf', 'baz/asdf')
//Returns: '/foo/bar/'

1 个答案:

答案 0 :(得分:1)

我认为没有本地方法可以做到这一点。

我认为最好的方法是使用 path.join('/foo/bar/baz/asdf', '..', '..');

你可以自己创建如下的功能

const magic = function(originalPath, removePath) {
  let arr = removePath.split('/').filter((p) => p !== '').map(() => '..');
  return path.join(originalPath, ...arr);
}

您可能需要使用path.sep代替'/'来支持各种操作系统。