【发布时间】:2018-09-01 21:55:43
【问题描述】:
假设我当前的工作目录是/home/oleg/foo,我有这个文件路径:
const p = '/home/oleg/foo/bar/baz';
我希望得到:
const p1 = './bar/baz';
我假设我们可以使用require('path') 来执行此操作,但不确定如何。
【问题讨论】:
假设我当前的工作目录是/home/oleg/foo,我有这个文件路径:
const p = '/home/oleg/foo/bar/baz';
我希望得到:
const p1 = './bar/baz';
我假设我们可以使用require('path') 来执行此操作,但不确定如何。
【问题讨论】:
如果我使用这个:
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)。请注意,如果已经存在 ..,它将被非规范化。