NodeJS中 Path 模块
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 模块的更多相关文章
- NodeJS之path模块
NodeJS之path模块 常用的主要有如下工具函数: 1. path.basename(path[, ext]) 2. path.extname(path) 3. path.dirname(path ...
- 在nodejs中引进模块要经历的步骤
在nodejs中引入模块需要经历如下3个步骤 1.路径分析 2.文件定位 3.编译执行 在nodejs中模块分为两类,一类是nodejs提供的模块,称为核心模块,另一类的用户编写的模块,称为文件模块. ...
- Nodejs中关于模块的总结
关于Nodejs中的模块 概念 Nodejs在ECMAScript的基础上扩展并封装了许多高级特性,如文件访问.网络访问等,使得Nodejs成为一个很好的Web开发平台.基于Nodejs这个平台将We ...
- Nodejs中cluster模块的多进程共享数据问题
Nodejs中cluster模块的多进程共享数据问题 前述 nodejs在v0.6.x之后增加了一个模块cluster用于实现多进程,利用child_process模块来创建和管理进程,增加程序在多核 ...
- Nodejs中的模块系统
一.模块化的定义 ①具有文件作用域 ②具有通信规则:加载和导出规则 二.CommonJS模块规范 1.nodejs中的模块系统,具有文件作用域,也具有通信规则,使用require方法加载模块,使用ex ...
- node (02 CommonJs 和 Nodejs 中自定义模块)顺便讲讲module.exports和exports的区别 dependencies 与 devDependencies 之间的区别
CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有标准的缺陷.它的终极目标就是:提供一个类似 Python,Ruby 和 Java 语言的标准库,而不只是停留在小脚本程序的阶 ...
- NodeJS 笔记 path模块
path 模块,本模块包含一系列处理和转换文件路径的工具集. path.normalize(path) normalize函数将不符合规范的路径经过格式化转换为标准路径,解析路径中的.与..外,还 ...
- Node.j中path模块对路径的操作
一.path模块 https://nodejs.org/docs/latest/api/path.html#path_path_join_paths 1.join方法 ==> 该方法将多个参数值 ...
- Node.js学习笔记(二) --- CommonJs和Nodejs 中自定义模块
一. 什么是 CommonJs? JavaScript 是一个强大面向对象语言,它有很多快速高效的解释器. 然而, JavaScript标准定义的 API 是为了构建基于浏览器的应用程序.并没有制定一 ...
随机推荐
- 在VS中自动生成NuGet包以及搭建自己的或单位内部的NuGet服务器
关于NuGet的介绍已经很多,可以参考下面的: NuGet学习笔记(1)--初识NuGet及快速安装使用 http://kb.cnblogs.com/page/143190/ NuGet学习笔记(2) ...
- c语言三元组
// Triplet.cpp : 定义控制台应用程序的入口点.//#include "stdio.h"#include "stdlib.h"#define OK ...
- sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
- 【BZOJ3112】[Zjoi2013]防守战线 单纯形法
[BZOJ3112][Zjoi2013]防守战线 题解:依旧是转化成对偶问题,然后敲板子就行了~ 建完表后发现跟志愿者招募的表正好是相反的,感觉很神奇~ #include <cstdio> ...
- MySql存储过程及MySql常用流程控制语法
/* 该代码是创建了一个名叫"p4"的存储过程并设置了s1,s2,s3两个int型一个varchar型参数,还可以是其他数据类型,内部创建了x1,x2两个变量 DELIMITER是 ...
- POJ 2031 Building a Space Station【经典最小生成树】
链接: http://poj.org/problem?id=2031 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22013#probl ...
- 九度OJ 1334:占座位 (模拟)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:864 解决:202 题目描述: sun所在学校的教室座位每天都是可以预占的. 一个人可以去占多个座位,而且一定是要连续的座位,如果占不到他所 ...
- linux c编程:管道
2在前面介绍过,进程之间交换信息的唯一途径就是传送打开的文件.可以经由fork或者exec来传送.这一章将介绍新的进程共享方式 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都 ...
- docker 存储定义成direct-lvm 模式
配置direct-lvm模式 1. 停止Docker systemctl stop docker 2. 安装依赖包 device-mapper-persistent-data,lvm2, and ...
- Render a controller in Twig - Unexpected “render” tag - expecting closing tag for the “block” tag defined
Render a controller in Twig - Unexpected “render” tag - expecting closing tag for the “block” tag de ...