Descrição do método:
Sair uma string de caminho no formato canônico.
gramática:
A cópia do código é a seguinte:
Path.Normalize (P)
Como esse método pertence ao módulo do caminho, você precisa introduzir o módulo de caminho antes do uso (var path = requer ("caminho")))
exemplo:
A cópia do código é a seguinte:
Path.Normalize ('/foo/bar // baz/asdf/quase ..')
// retorna
'/foo/bar/baz/asdf'
Código -fonte:
A cópia do código é a seguinte:
// versão do Windows
exports.Normalize = function (caminho) {
var resultado = splitDevicere.exec (caminho),
dispositivo = resultado [1] || '',
isunc = dispositivo && device.charat (1)! == ':',
isabsolute = exports.isabsolute (caminho),
cauda = resultado [3],
trilhingslash = /®////body$/.test(tail);
// Se o dispositivo for uma letra de unidade, normalizaremos a minúscula.
if (dispositivo && device.charat (1) === ':') {
dispositivo = dispositivo [0] .tolowerCase () + device.substr (1);
}
// normalizando o caminho da cauda
Tail = NormiElizearray (cauda.split (/[////]+/). filtro (função (p) {
retornar !! p;
}),! isabsolute) .Join ('//');
if (! Tail &&! isabsolute) {
cauda = '.';
}
if (cauda && trilhingslash) {
cauda += '//';
}
// Converta as barras em barragem quando o `dispositivo` aponta para uma raiz UNC.
// também esmaga várias barras em uma única, quando apropriado.
if (isunc) {
dispositivo = normalizeUncroot (dispositivo);
}
Retorno dispositivo + (isabsolute? '//': '') + cauda;
};