Windows下Node.js中路径分隔符的非规范化
在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');
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。)请不要建议人们对标准库进行修补。