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 相关文章推荐
jquery tablesorter.js 支持中文表格排序改进
Dec 09 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
Jul 03 Javascript
js 动态文字滚动的例子
Jan 17 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 Javascript
jquery阻止后续事件只执行第一个事件
Jul 24 Javascript
Jquery修改页面标题title其它JS失效的解决方法
Oct 31 Javascript
实现非常简单的js双向数据绑定
Nov 06 Javascript
Bootstrap项目实战之子栏目资讯内容
Apr 25 Javascript
vue使用vue-cli快速创建工程
Jul 28 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
Feb 26 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
Mar 14 Javascript
JavaScript实现简单的弹窗效果
May 19 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中将数组转成XML格式的实现代码
2011/08/08 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
PHP中的替代语法简介
2014/08/22 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
基于JavaScript实现选项卡效果
2017/07/21 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
vue实现搜索功能
2019/05/28 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
Python Series从0开始索引的方法
2018/11/06 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
2019/03/05 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
Python库安装速度过慢解决方案
2020/07/14 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
军训考核自我鉴定
2014/02/13 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
党员活动日总结
2014/05/05 职场文书
提拔干部考察材料
2014/05/26 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
党员个人整改措施
2014/10/24 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
小学生节水倡议书
2015/04/29 职场文书
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python