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


Posted in Javascript onDecember 08, 2014

方法说明:

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

  };
Javascript 相关文章推荐
JSQL  一个 web DB 的封装
May 05 Javascript
工作需要写的一个js拖拽组件
Jul 28 Javascript
模拟多级复选框效果的jquery代码
Aug 13 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
Jul 29 Javascript
js实现Select列表各项上移和下移的方法
Aug 14 Javascript
jquery表单验证插件validation使用方法详解
Jan 20 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
JS随机排序数组实现方法分析
Oct 11 Javascript
详细分析单线程JS执行问题
Nov 22 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
详解angular2 控制视图的封装模式
Dec 27 Javascript
原生js实现放大镜组件
Jan 22 Javascript
node.js中的path.normalize方法使用说明
Dec 08 #Javascript
node.js中的path.sep方法使用说明
Dec 08 #Javascript
node.js中的path.resolve方法使用说明
Dec 08 #Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
Dec 08 #Javascript
node.js中的dns.getServers方法使用说明
Dec 08 #Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
Dec 08 #Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 #Javascript
You might like
常用的php ADODB使用方法集锦
2008/03/25 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
JS字符串截取函数实例
2013/12/27 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
Javascript中replace()小结
2015/09/30 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
JavaScript设计模式之责任链模式实例分析
2019/01/16 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Python的动态重新封装的教程
2015/04/11 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
django中瀑布流写法实例代码
2019/10/14 Python
Django和Flask框架优缺点对比
2019/10/24 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
python list的index()和find()的实现
2020/11/16 Python
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
计算机应届毕业生自荐信范文
2014/02/23 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
促销活动总结模板
2014/07/01 职场文书
2014年预算员工作总结
2014/12/05 职场文书
材料员岗位职责范本
2015/04/11 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技