【问题标题】:Node.js path.join reverse operationNode.js path.join 反向操作
【发布时间】:2017-07-14 02:06:26
【问题描述】:

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/'

【问题讨论】:

    标签: node.js path


    【解决方案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 而不是'/' 来支持各种操作系统。

    【讨论】:

      猜你喜欢
      • 2018-04-28
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 2012-04-03
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      相关资源
      最近更新 更多