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; 

  };