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 学习笔记(十二) dom
Jan 21 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
Jan 24 Javascript
jQuery.extend()的实现方式详解及实例
Jun 29 Javascript
JS控制按钮10秒钟后可用的方法
Dec 22 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
关于vue编译版本引入的问题的解决
Sep 17 Javascript
详解微信小程序网络请求接口封装实例
May 02 Javascript
JavaScript提升机制Hoisting详解
Oct 23 Javascript
微信小程序页面间传递数组对象方法解析
Nov 06 Javascript
JS实现点餐自动选择框(案例分析)
Dec 10 Javascript
vuejs实现下拉框菜单选择
Oct 23 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中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
[00:23]DOTA2群星共贺开放测试 25日无码时代来袭
2013/09/23 DOTA
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
中间件分为哪几类
2016/09/18 面试题
快餐公司创业计划书
2014/04/29 职场文书
旅游文化节策划方案
2014/06/06 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
详解JS ES6编码规范
2021/05/07 Javascript