我正在尝试规范NodeJS
中的路径,因此无论用户输入(*nix/windows)
如何,node path
都可以访问该路径。
Ex: c:/test/test.xml
c:\\test\test.xml
c:\test/test.xml
/usr/var/test.xml
/usr/var\test.xml
这些应该被规范化,以便path
lib可以访问它们。我尝试在输入path.normalize
上使用/usr/var\test.xml
,但它没有用。输出路径字符串与输入相同而不是/usr/var/test.xml
答案 0 :(得分:0)
我自己编写了简单的功能来实现这个目标
export function pathToNix(pathStr: string) {
var p = path.normalize(pathStr);
var path_regex = /\/\//;
p = p.replace(/\\/g, "/");
while (p.match(path_regex)) {
p = p.replace(path_regex, "/");
}
return p;
}
澄清一些事情 - Windows支持* nix类型文件结构(c:/test/a.txt)。因此将所有路径转换为* nix格式。