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 源码分析笔记(4) Ready函数
Jun 02 Javascript
jQuery Tools tab使用介绍
Jul 14 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
Jun 26 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
AngularJS入门教程一:路由用法初探
May 27 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
Nov 22 Javascript
vue项目常用组件和框架结构介绍
Dec 24 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
Jan 20 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
Apr 09 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
Jun 04 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
调频问题解答
2021/03/01 无线电
如何使用动态共享对象的模式来安装PHP
2006/10/09 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
php去除数组中重复数据
2014/11/18 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
Firefox outerHTML实现代码
2009/06/04 Javascript
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
微信公众号网页分享功能开发的示例代码
2020/05/27 Javascript
使用python Django做网页
2013/11/04 Python
Django中Model的使用方法教程
2018/03/07 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
python动态文本进度条的实例代码
2020/01/22 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
控制工程专业个人求职信
2013/09/25 职场文书
企业承诺书格式
2014/05/21 职场文书
销售类求职信
2014/06/13 职场文书
三严三实对照检查材料
2014/09/22 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
决心书格式及范文
2019/06/24 职场文书
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript