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


Posted in Javascript onDecember 08, 2014

方法说明:

输出规范格式的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; 

  };

Javascript 相关文章推荐
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
javascript中HTMLDOM操作详解
Dec 11 Javascript
推荐一款jQuery插件模板
Jan 09 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
Oct 10 Javascript
通过设置CSS中的position属性来固定层的位置
Dec 14 Javascript
基于Vue.js实现简单搜索框
Mar 26 Javascript
js防刷新的倒计时代码 js倒计时代码
Sep 06 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
Nov 27 Javascript
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
node.js读取Excel数据(下载图片)的方法示例
Aug 02 Javascript
JS实现放烟花效果
Mar 10 Javascript
小程序实现tab标签页
Nov 16 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
ECMAScript5中的对象存取器属性:getter和setter介绍
Dec 08 #Javascript
You might like
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
JavaScript数据结构之二叉树的计数算法示例
2017/04/13 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
原生JS实现留言板
2020/03/26 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
Python返回真假值(True or False)小技巧
2015/04/10 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
Python input函数使用实例解析
2019/11/22 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
信号生成及DFT的python实现方式
2020/02/25 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
红旗方阵解说词
2014/02/12 职场文书
白血病捐款倡议书
2014/05/14 职场文书
团队拓展活动方案
2014/08/28 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
2015年科协工作总结
2015/05/19 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL