java normalize_node.js中的path.normalize方法使用说明

漆雕原
2023-12-01

方法说明:

输出规范格式的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;

};

 类似资料: