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中“基本类型”之争小结
Jan 03 Javascript
js数组Array sort方法使用深入分析
Feb 21 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
Jun 08 Javascript
Node.js实现数据推送
Apr 14 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
Sep 14 Javascript
常用的js方法合集
Mar 10 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
May 11 Javascript
JS实现点击Radio动态更新table数据
Jul 18 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
May 14 Javascript
Node登录权限验证token验证实现的方法示例
May 25 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
Aug 13 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程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
Python中的各种装饰器详解
2015/04/11 Python
matplotlib绘制动画代码示例
2018/01/02 Python
python实现文件的备份流程详解
2019/06/18 Python
python爬虫添加请求头代码实例
2019/12/28 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
python代码实现图书管理系统
2020/11/30 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
英国电子专家:maplin
2019/09/04 全球购物
2015关爱留守儿童工作总结
2014/12/12 职场文书
初中政治教学工作总结
2015/08/13 职场文书
体育教师教学随笔
2015/08/15 职场文书
2016春季运动会开幕词
2016/03/04 职场文书