深入理解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 相关文章推荐
“不能执行已释放的Script代码”错误的原因及解决办法
Sep 09 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
Apr 27 Javascript
JavaScript数据库TaffyDB用法实例分析
Jul 27 Javascript
jquery实现的淡入淡出下拉菜单效果
Aug 25 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
Jun 26 Javascript
vue2.0 路由不显示router-view的解决方法
Mar 06 Javascript
微信小程序开发之路由切换页面重定向问题
Sep 18 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
Sep 21 Javascript
js获取form表单中name属性的值
Feb 27 Javascript
微信小程序 网络通信实现详解
Jul 23 Javascript
Node.js安装详细步骤教程(Windows版)详解
Sep 01 Javascript
在Vue 中实现循环渲染多个相同echarts图表
Jul 20 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
PHP的历史和优缺点
2006/10/09 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
一些mootools的学习资源
2010/02/07 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
JavaScript字符串对象
2017/01/14 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
中药专业大学生医药工作求职信
2013/10/25 职场文书
优秀的自荐信要注意哪些
2014/01/03 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
mysql 索引合并的使用
2021/08/30 MySQL
Python数组变形的几种实现方法
2022/05/30 Python