深入理解node.js之path模块


Posted in Javascript onMay 03, 2017

node之path模块

//引用该模块
var path = require("path");

1、路径解析,得到规范化的路径格式

//对window系统,目录分隔为'\', 对于UNIX系统,分隔符为'/',针对'..'返回上一级;/与\\都被统一转换
//path.normalize(p);

var myPath = path.normalize(__dirname + '/test/a//b//../c/utilyou.mp3');
console.log(myPath); //windows: E:\workspace\NodeJS\app\fs\test\a\c\utilyou.mp3

2、路径结合、合并,路径最后不会带目录分隔符

//path.join([path1],[path2]..[pathn]);
/**
 * [path1] 路径或表示目录的字符,
 */

var path1 = 'path1',
  path2 = 'path2//pp\\',
  path3 = '../path3';

var myPath = path.join(path1, path2, path3);
console.log(myPath); //path1\path2\path3

3、获取绝对路径

//path.resolve(path1, [path2]..[pathn]);

//以应用程序为起点,根据参数字符串解析出一个绝对路径

/**
 * path 必须至少一个路径字符串值
 * [pathn] 可选路径字符串
 */

var myPath = path.resolve('path1', 'path2', 'a/b\\c/');
console.log(myPath);//E:\workspace\NodeJS\path1\path2\a\b\c

4、获取相对路径

//path.relative(from, to);
//获取两路径之间的相对关系

/**
 * from 当前路径,并且方法返回值是基于from指定到to的相对路径
 * to  到哪路径,
 */

var from = 'c:\\from\\a\\',
  to = 'c:/test/b';

var _path = path.relative(from, to);
console.log(_path); //..\..\test\b; 表示从from到to的相对路径

5、path.dirname(p)

// 获取路径中目录名

var myPath = path.dirname(__dirname + '/test/util you.mp3');
console.log(myPath);

6、path.basename(path, [ext])

// 获取路径中文件名,后缀是可选的,如果加,请使用'.ext'方式来匹配,则返回值中不包括后缀名;

var myPath = path.basename(__dirname + '/test/util you.mp3', '.mp3');
console.log(myPath);

7、path.extname(path)   //获取路径中的扩展名,如果没有'.',则返回空

8、path.sep属性   //返回操作系统中文件分隔符; window是'\\', Unix是'/'

9、path.delimiter属性   //返回操作系统中目录分隔符,如window是';', Unix中是':'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 代码也可以变得优美的实现方法
Jun 22 Javascript
actionscript与javascript的区别
May 25 Javascript
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
JS完成代码前最好对其做5件事
Apr 07 Javascript
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
window.open()详解及浏览器兼容性问题示例探讨
May 29 Javascript
AngularJS中的Directive自定义一个表格
Jan 25 Javascript
Bootstrap面板学习使用
Feb 09 Javascript
js实现自定义进度条效果
Mar 15 Javascript
原生JavaScrpit中异步请求Ajax实现方法
Nov 03 Javascript
利用JS实现一个同Excel表现的智能填充算法
Aug 13 Javascript
JavaScript中工厂函数与构造函数示例详解
May 06 Javascript
判断颜色是否合法的正则表达式(详解)
May 03 #Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
May 03 #Javascript
ES6中参数的默认值语法介绍
May 03 #Javascript
Express之get,pos请求参数的获取
May 02 #Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 #Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
May 02 #Javascript
JavaScript比较两个数组的内容是否相同(推荐)
May 02 #Javascript
You might like
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
如何在PHP中使用数组
2020/06/09 PHP
常用的javascript function代码
2008/05/23 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
python使用socket向客户端发送数据的方法
2015/04/29 Python
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
详解Django中的权限和组以及消息
2015/07/23 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
Django配置跨域并开发测试接口
2020/11/04 Python
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
公司面试感谢信
2014/02/01 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
冰峪沟导游词
2015/02/09 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
Golang流模式之grpc的四种数据流
2022/04/13 Golang