【问题标题】:Given absolute path, get relative path, which is relative to the cwd给定绝对路径,得到相对路径,相对于cwd
【发布时间】:2018-09-01 21:55:43
【问题描述】:

假设我当前的工作目录是/home/oleg/foo,我有这个文件路径:

const p = '/home/oleg/foo/bar/baz';

我希望得到:

const p1 = './bar/baz';

我假设我们可以使用require('path') 来执行此操作,但不确定如何。

【问题讨论】:

    标签: node.js path


    【解决方案1】:

    如果我使用这个:

    const path = require('path');
    const cwd = process.cwd();
    const p1 = path.relative(cwd, p);
    

    然后我得到类似的东西

    'bar/baz/boop'
    

    但我正在寻找

    './bar/baz/boop'
    

    所以也许正确的方法是一个简单的例子:

    const p1 = './' + path.relative(cwd, p);
    

    【讨论】:

    • 我最初误读了您的问题。是的,这是正确的方向。路径在没有前导 . 的情况下被规范化。 './' + - 当然不是。这是'.' + path.sep + path.relative(cwd, p)。请注意,如果已经存在 ..,它将被非规范化。
    猜你喜欢
    • 2012-10-16
    • 1970-01-01
    • 2012-01-11
    • 2010-09-15
    • 2013-04-17
    • 2013-11-30
    • 2011-04-02
    • 1970-01-01
    • 2021-08-15
    相关资源
    最近更新 更多