首页 > 语言 > JavaScript > 正文

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

2024-05-06 16:11:42
字体:
来源:转载
供稿:网友
这篇文章主要介绍了node.js中的path.join方法使用说明,本文介绍了path.join的方法说明、语法、使用实例和实现源码,需要的朋友可以参考下
 
 

方法说明:

将多个参数组合成一个 path (详细请看例子)

语法:

 

复制代码代码如下:

path.join([path1], [path2], [...])

 

由于该方法属于path模块,使用前需要引入path模块(var path= require(“path”) )

例子:

 

复制代码代码如下:

path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')
// returns
'/foo/bar/baz/asdf'
path.join('foo', {}, 'bar')
// throws exception
TypeError: Arguments to path.join must be strings

 

源码:

 

复制代码代码如下:

// windows version 
  exports.join = function() { 
    function f(p) { 
      if (!util.isString(p)) { 
        throw new TypeError('Arguments to path.join must be strings'); 
      } 
      return p; 
    } 
 
    var paths = Array.prototype.filter.call(arguments, f); 
    var joined = paths.join('//'); 
 
    // Make sure that the joined path doesn't start with two slashes, because 
    // normalize() will mistake it for an UNC path then. 
    // 
    // This step is skipped when it is very clear that the user actually 
    // intended to point at an UNC path. This is assumed when the first 
    // non-empty string arguments starts with exactly two slashes followed by 
    // at least one more non-slash character. 
    // 
    // Note that for normalize() to treat a path as an UNC path it needs to 
    // have at least 2 components, so we don't filter for that here. 
    // This means that the user can use join to construct UNC paths from 
    // a server name and a share name; for example: 
    // path.join('//server', 'share') -> '////server//share/') 
    if (!/^[////]{2}[^////]/.test(paths[0])) { 
      joined = joined.replace(/^[////]{2,}/, '//'); 
    } 
 
    return exports.normalize(joined); 
  };
 

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

图片精选