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

前端技术 2023/09/07 JavaScript

方法说明:

将多个参数组合成一个 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);
  };

本文地址:https://www.stayed.cn/item/18371

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。