javascript - 从两个绝对路径构造 JavaScript 中的相对路径

标签 javascript path

给定两个绝对路径,例如

/var/data/stuff/xyz.html
/var/data

如何创建以第二条路径为基础的相对路径?在上面的示例中,结果将是:stuff/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 版本还不错,如果这是您唯一需要支持的想法的话。

关于javascript - 从两个绝对路径构造 JavaScript 中的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731565/

相关文章:

Javascript:有没有办法在没有 eval() 的情况下使用字符串作为回调?

javascript - 单击存储在 javascript 对象中的元素不起作用

javascript - 需要在 RTL 模式下对 IE6 和 IE7 中无效的 getBoundingClientRect() 进行解决

c++ - vs2015 C++ 包含目录 gstreamer

java - 在Windows 8.1上安装maven 3.3.1时出错

javascript - document.createElement ('script' ) 与 <script src ="">

php - 在谷歌地图 v3 API 上绘制区域多边形

r - 定义路径的宽度并计算面积

java - 使用 Sesame 中的一组谓词达到相同的对象

java - 如何检查文件夹是否包含具有特定路径的n个文件