首页 > 语言 > JavaScript > 正文

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

2024-05-06 16:11:43
字体:
来源:转载
供稿:网友
这篇文章主要介绍了node.js中的path.normalize方法使用说明,本文介绍了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; 
  };

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选