给定两条绝对路径,例如,从两个绝对路径构建JavaScript中的相对路径
/var/data/stuff/xyz.html
/var/data
如何创建一个使用第二个路径作为其基础的相对路径?在上面的例子中,结果将是:东西/ xyz.html
又如:
/relative/sub/foo/sub/file
/relative/path
../../../path
这类似于this question,但是我正在寻找最佳的JavaScript解决方案而不是Java。
给定两条绝对路径,例如,从两个绝对路径构建JavaScript中的相对路径
/var/data/stuff/xyz.html
/var/data
如何创建一个使用第二个路径作为其基础的相对路径?在上面的例子中,结果将是:东西/ xyz.html
又如:
/relative/sub/foo/sub/file
/relative/path
../../../path
这类似于this question,但是我正在寻找最佳的JavaScript解决方案而不是Java。
如果你使用的是Node.js服务器上运行此:
http://nodejs.org/api/path.html#path_path_relative_from_to
这是他们实现:
https://github.com/joyent/node/blob/master/lib/path.js#L233
这应该在浏览器中工作,而没有任何更改。它已经过战斗测试,所以它已经处理边缘情况。这不是一蹴而就的,但它完美无瑕,我认为更重要。 POSIX版本并不差,如果这是你唯一需要支持的。
我正在运行客户端,但看起来可行。将看看我能否得到它的工作。 –
[使用URI.js](http://medialize.github.com/URI.js/)。 – zzzzBov
“优化”是什么意思?代码大小,运行时间或内存使用情况最佳?代码大小为 – tjameson
。无法想象内存使用率或运行时间对于如此微不足道的事情来说是一个相当大的因素。 –