node.js中的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); 

  };