首页 / 脚本样式 / JavaScript / node.js中的path.normalize方法使用说明
方法说明:
输出规范格式的path字符串。
语法:
复制代码 代码如下:
path.normalize(p)
由于该方法属于path模块,使用前需要引入path模块(var path= require(“path”) )
例子:
复制代码 代码如下:
path.normalize("/foo/bar//baz/asdf/quux/..")
// returns
"/foo/bar/baz/asdf"
源码:
复制代码 代码如下:
// windows version
exports.normalize = function(path) {
var result = splitDeviceRe.exec(path),
device = result[1] || "",
isUnc = device && device.charAt(1) !== ":",
isAbsolute = exports.isAbsolute(path),
tail = result[3],
trailingSlash = /[\/]$/.test(tail);
// If device is a drive letter, we"ll normalize to lower case.
if (device && device.charAt(1) === ":") {
device = device[0].toLowerCase() + device.substr(1);
}
// Normalize the tail path
tail = normalizeArray(tail.split(/[\/]+/).filter(function(p) {
return !!p;
}), !isAbsolute).join("\");
if (!tail && !isAbsolute) {
tail = ".";
}
if (tail && trailingSlash) {
tail += "\";
}
// Convert slashes to backslashes when `device` points to an UNC root.
// Also squash multiple slashes into a single one where appropriate.
if (isUnc) {
device = normalizeUNCRoot(device);
}
return device + (isAbsolute ? "\" : "") + tail;
};