深入理解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函数
Sep 08 Javascript
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
Feb 16 Javascript
Jquery插件编写简明教程
Mar 25 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
Sep 11 Javascript
解析javascript瀑布流原理实现图片滚动加载
Mar 10 Javascript
JavaScript利用fetch实现异步请求的方法实例
Jul 26 Javascript
vue单页应用加百度统计代码(亲测有效)
Jan 31 Javascript
setTimeout与setInterval的区别浅析
Mar 23 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
May 18 Javascript
Vue组件通信中非父子组件传值知识点总结
Dec 05 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
将二维数组转为一维数组的2种方法
2014/05/26 PHP
PHP对象递归引用造成内存泄漏分析
2014/08/28 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
详解node.js的http模块实例演示
2018/07/12 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
jQuery实现全选按钮
2021/01/01 jQuery
python中requests模块的使用方法
2015/04/08 Python
Python实现二叉堆
2016/02/03 Python
详解python中requirements.txt的一切
2017/03/03 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
基层干部十八大感言
2014/01/19 职场文书
学校安全工作制度
2014/01/19 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
如何拟写通知正文?
2019/04/02 职场文书
分享几个实用的CSS代码块
2022/06/10 HTML / CSS