深入理解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 相关文章推荐
jquery HotKeys轻松搞定键盘事件代码
Aug 30 Javascript
jquery imgareaselect 使用利用js与程序结合实现图片剪切
Jul 30 Javascript
JavaScript 异步调用框架 (Part 2 - 用例设计)
Aug 03 Javascript
解决JS浮点数运算出现Bug的方法
Mar 12 Javascript
js 触发select onchange事件代码
Mar 20 Javascript
Angular2学习笔记——详解NgModule模块
Dec 02 Javascript
Angular2 PrimeNG分页模块学习
Jan 14 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
Mar 01 Javascript
详解在AngularJS的controller外部直接获取$scope
Jun 02 Javascript
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
vue-cli常用设置总结
Feb 24 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 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 Cookie的使用教程详解
2013/06/03 PHP
三种php连接access数据库方法
2013/11/11 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
制定岗位职责的原则
2013/11/08 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
基层工作经验证明样本
2014/11/16 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
Python制作动态字符画的源码
2021/08/04 Python
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL