深入理解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 相关文章推荐
分享一个asp.net pager分页控件
Jan 04 Javascript
使用Post提交时须将空格转换成加号的解释
Jan 14 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
Dec 02 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
Feb 29 Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 Javascript
jquery层级选择器的实现(匹配后代元素div)
Sep 05 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
Angular 应用技巧总结
Sep 14 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
JavaScript中AOP的实现与应用
May 06 Javascript
基于jQuery实现可编辑的表格
Dec 11 jQuery
vue treeselect获取当前选中项的label实例
Aug 31 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生成带logo二维码方法小结
2016/04/08 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
Python模块学习 filecmp 文件比较
2012/08/27 Python
python实现批量改文件名称的方法
2015/05/25 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
pybind11在Windows下的使用教程
2019/07/04 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
python实现低通滤波器代码
2020/02/26 Python
Django配置跨域并开发测试接口
2020/11/04 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
大学军训感想
2014/02/12 职场文书
教师现实表现材料
2014/02/14 职场文书
浪费资源的建议书
2014/03/12 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
文艺演出策划方案
2014/06/07 职场文书
2014年电教工作总结
2014/12/19 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
大学生学期个人总结
2015/02/12 职场文书
经费申请报告范文
2015/05/18 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL