var path = require('path');
// 当发现有多个连续的斜杠时,会替换成一个; 当路径末尾包含斜杠时,会保留;
// 在 Windows 系统会使用反斜杠。
var p = path.normalize('foo/bar//baz/asdf/quux/..') ;
var p2 = path.normalize('foo/bar//baz/asdf/quux/../') ;
console.log('p',p,p2); //组合参数中的所有路径,返回规范化后的路径。
var p3 = path.join('a/b/c',"d/c/v");
console.log('p3',p3);
// 返回文件的绝对路径 var p4 = path.resolve('test.js');
var p5 = path.resolve('/path/test.js');
console.log('p4',p4);
console.log('p5',p5); // var ab = path.isAbsolute('test.js');
// console.log('ab',ab);
// 返回从 from 到 to 的相对路径
var res = path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
console.log('res',res); //path.resolve(from, path.relative(from, to)) == path.resolve(to)
// 文件的文件夹名称
var dir1 = path.dirname('../test.js');
var dir2 = path.dirname('./test.js');
var dir3 = path.dirname('test.js');
var dir4 = path.dirname('/foo/bar/baz/asdf/quux');
//dir1 ..
//dir2 .
//dir3 .
//dir4 /foo/bar/baz/asdf console.log('dir1',dir1);
console.log('dir2',dir2);
console.log('dir3',dir3);
console.log('dir4',dir4);
// 返回后文件基本名称 第二个参数为 后缀名如果存在则返回除去后缀以后的名字
var base1 = path.basename('/foo/bar/baz/asdf/quux.html', '.html');
var base1 = path.basename('/foo/bar/baz/asdf/quux.html', '.htm');
var base2 = path.basename('/foo/bar/baz/asdf/quux.html', 'html');
var base3 = path.basename('/foo/bar/baz/asdf/quux.html');
// base1 quux
// base2 quux.
// base3 quux.html console.log('base1',base1);
console.log('base2',base2);
console.log('base3',base3); // 返回后缀名, 没有则为空
var en1 = path.extname('test.js');
var en2 = path.extname('test');
console.log('en1 ', en1);
console.log('en2 ', en2);
//en1 .js
//en2 // path.sep 路径分隔符 var sp = 'foo/bar/baz'.split(path.sep);
//sp [ 'foo', 'bar', 'baz' ] console.log('sp', sp);
// path.delimiter多个路径之间的分隔符
var del = process.env.PATH .split(path.delimiter); console.log('del', del);
//de [ '/usr/local/bin',
// '/usr/bin',
// '/bin',
// '/usr/sbin',
// '/sbin',
// '/usr/local/bin',
// '/usr/local/git/bin' ]

  

直接运行

NodeJS中 Path 模块的更多相关文章

  1. NodeJS之path模块

    NodeJS之path模块 常用的主要有如下工具函数: 1. path.basename(path[, ext]) 2. path.extname(path) 3. path.dirname(path ...

  2. 在nodejs中引进模块要经历的步骤

    在nodejs中引入模块需要经历如下3个步骤 1.路径分析 2.文件定位 3.编译执行 在nodejs中模块分为两类,一类是nodejs提供的模块,称为核心模块,另一类的用户编写的模块,称为文件模块. ...

  3. Nodejs中关于模块的总结

    关于Nodejs中的模块 概念 Nodejs在ECMAScript的基础上扩展并封装了许多高级特性,如文件访问.网络访问等,使得Nodejs成为一个很好的Web开发平台.基于Nodejs这个平台将We ...

  4. Nodejs中cluster模块的多进程共享数据问题

    Nodejs中cluster模块的多进程共享数据问题 前述 nodejs在v0.6.x之后增加了一个模块cluster用于实现多进程,利用child_process模块来创建和管理进程,增加程序在多核 ...

  5. Nodejs中的模块系统

    一.模块化的定义 ①具有文件作用域 ②具有通信规则:加载和导出规则 二.CommonJS模块规范 1.nodejs中的模块系统,具有文件作用域,也具有通信规则,使用require方法加载模块,使用ex ...

  6. node (02 CommonJs 和 Nodejs 中自定义模块)顺便讲讲module.exports和exports的区别 dependencies 与 devDependencies 之间的区别

    CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有标准的缺陷.它的终极目标就是:提供一个类似 Python,Ruby 和 Java 语言的标准库,而不只是停留在小脚本程序的阶 ...

  7. NodeJS 笔记 path模块

    path 模块,本模块包含一系列处理和转换文件路径的工具集. path.normalize(path)   normalize函数将不符合规范的路径经过格式化转换为标准路径,解析路径中的.与..外,还 ...

  8. Node.j中path模块对路径的操作

    一.path模块 https://nodejs.org/docs/latest/api/path.html#path_path_join_paths 1.join方法 ==> 该方法将多个参数值 ...

  9. Node.js学习笔记(二) --- CommonJs和Nodejs 中自定义模块

    一. 什么是 CommonJs? JavaScript 是一个强大面向对象语言,它有很多快速高效的解释器. 然而, JavaScript标准定义的 API 是为了构建基于浏览器的应用程序.并没有制定一 ...

随机推荐

  1. python爬虫学习研究

    目标:做一个小爬虫项目 2017年6月4日13:32:17       mooc网教程Python爬虫入门一之综述要学习Python爬虫,我们要学习的共有以下几点:Python基础知识Python中u ...

  2. 初识Modbus TCP/IP-------------C#编写Modbus TCP客户端程序(二)

    由于感觉上一次写的篇幅过长,所以新开一贴,继续介绍Modbus TCP/IP的初步认识, 书接上回 3).03(0x03)功能码--------读保持寄存器 请求与响应格式 这是一个请求读寄存器108 ...

  3. RabbitMQ与Redis做队列比较

    本文仅针对RabbitMQ与Redis做队列应用时的情况进行对比 具体采用什么方式实现,还需要取决于系统的实际需求简要介绍RabbitMQRabbitMQ是实现AMQP(高级消息队列协议)的消息中间件 ...

  4. Myeclipse 选中高亮

    打开显示功能 选择Windows->Preferences->Java-> Editor-> Mark Occurrences ,勾选选项.这时,当你单击一个元素的时候,代码中 ...

  5. 【BZOJ3640】JC的小苹果 概率DP+高斯消元

    [BZOJ3640]JC的小苹果 Description 让我们继续JC和DZY的故事. “你是我的小丫小苹果,怎么爱你都不嫌多!” “点亮我生命的火,火火火火火!” 话说JC历经艰辛来到了城市B,但 ...

  6. Hibernate Criteria 查询使用

    转载 http://blog.csdn.net/woshisap/article/details/6747466 Hibernate 设计了 CriteriaSpecification 作为 Crit ...

  7. Linux c编程:线程属性

    前面介绍了pthread_create函数,并且当时的例子中,传入的参数都是空指针,而不是指向pthread_attr_t结构的指针.可以使用pthread_attr_t结构修改线程默认属性,并把这些 ...

  8. SE16传输配置表数据

    SE16标准工具传输配置表数据 (上面说了配置表,所以并不是所有的表都能SE16传输.) 了解到: 1.如果是可维护的表,SE16,执行 然后:表条目->传输条目.选择请求: 2.对于不可维护的 ...

  9. 3.15课·········out传值(传址)

    public void Hs(out int a, out int b) { a = 4; b = 6; a = b++;//a=6,b=b+1=7//b先赋值给a,然后b+1 b = ++a;//a ...

  10. 【leetcode刷题笔记】Remove Duplicates from Sorted List

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...