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 相关文章推荐
javascript 变量作用域 代码分析
Jun 26 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
Oct 15 Javascript
jQuery .tmpl() 用法示例介绍
Aug 21 Javascript
javascript实现简单的html5视频播放器
May 06 Javascript
极简主义法编写JavaScript类
Nov 02 Javascript
redux中间件之redux-thunk的具体使用
Apr 17 Javascript
react-native android状态栏的实现
Jun 15 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
Aug 25 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
Sep 12 Javascript
学习RxJS之JavaScript框架Cycle.js
Jun 17 Javascript
浅谈vue异步数据影响页面渲染
Oct 29 Javascript
Vue Router中应用中间件的方法
Aug 06 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
如何在PHP中使用Oracle数据库(3)
2006/10/09 PHP
dedecms模板标签代码官方参考
2007/03/17 PHP
jQuery 源码分析笔记
2011/05/25 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
浅谈super-vuex使用体验
2018/06/25 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
Python实现的选择排序算法示例
2017/11/29 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
什么是makefile? 如何编写makefile?
2012/08/08 面试题
《鸿门宴》教学反思
2014/04/22 职场文书
植物生产学专业求职信
2014/08/08 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
党支部半年考察意见
2015/06/01 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python