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 相关文章推荐
使用TextRange获取输入框中光标的位置的代码
Mar 08 Javascript
js报错 Object doesn't support this property or method的原因分析
Mar 31 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
Aug 23 Javascript
JavaScript插件化开发教程 (四)
Jan 27 Javascript
js实现仿QQ秀换装效果的方法
Mar 04 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
vue数组对象排序的实现代码
Jun 20 Javascript
详解JSON和JSONP劫持以及解决方法
Mar 08 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 jQuery
jquery树形插件zTree高级使用详解
Aug 16 jQuery
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
Jan 08 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
php微信支付之公众号支付功能
2018/05/30 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
关于JS管理作用域的问题
2013/04/10 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
简单讲解jQuery中的子元素过滤选择器
2016/04/18 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
2019/09/06 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
学习python处理python编码问题
2011/03/13 Python
git进行版本控制心得详谈
2017/12/10 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
python nmap实现端口扫描器教程
2020/05/28 Python
sklearn+python:线性回归案例
2020/02/24 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
大学毕业登记表自我鉴定
2013/10/09 职场文书
新郎新娘婚礼答谢词
2014/01/11 职场文书
会计电算化专业求职信
2014/06/10 职场文书
找工作求职信
2014/07/07 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
读书笔记怎么写
2015/07/01 职场文书
单位车辆管理制度
2015/08/05 职场文书