Windows下Node.js中路径分隔符的非规范化

Windows下Node.js中路径分隔符的非规范化,node.js,path,Node.js,Path,在Windows中,Node.js的path模块生成所有带反斜杠的路径。当调用其他函数(如resolve())时,它似乎调用了自己的normalize()函数 有没有一种方法可以使路径(使用正斜杠)非规范化,而无需到处进行显式替换 我试着设置path.sep='/',但是resolve()仍然会生成带有\的路径,您可以或path.parse来分解路径,然后随意加入它。我在Windows 10中遇到了这个问题。我用这个脚本解决了这个问题: var path = require('path');

在Windows中,Node.js的
path
模块生成所有带反斜杠的路径。当调用其他函数(如
resolve()
)时,它似乎调用了自己的
normalize()
函数

有没有一种方法可以使路径(使用正斜杠)非规范化,而无需到处进行显式替换


我试着设置
path.sep='/'
,但是
resolve()
仍然会生成带有
\
的路径,您可以或
path.parse
来分解路径,然后随意加入它。

我在Windows 10中遇到了这个问题。我用这个脚本解决了这个问题:

var path = require('path');

path.join2 = path.join;
path.sep = '/';
path.join = function(){
    var res = path.join2.apply({}, arguments);
    res = res.replace(/\\/g, path.sep);
    return res;
}
//rest of your code

看起来这是不可能的。你的用例是什么?考虑到全局,我们可能会想出一个更好的解决方案。用例是获取资产的路径,相对于另一条路径(第页)。因此,当结果路径出现在
Ah中时,您希望构建URL而不是本机文件路径。
url
模块是否满足您的需求?看见
path
中是否还需要其他函数?(path.delimiter用于分隔路径(在
/usr/bin:/bin
中的冒号)。您的意思是sep。)请不要建议人们对标准库进行修补。