var path = require('path');
1、规范…和. …及…前的那个和后面的所有都会被去掉
2、//和\ 在POSIX中 //规范成/ ;在Windows中\不变,,\\会被规范成\
path.normalize('C://src/////lib///a.js'));
; 对于Windows
: 为POSIX
console.log(path.extname('index.js')); // .js
console.log(path.extname('index.txt.md')); // .md
console.log(path.extname('src')); // ''
console.log(path.extname('.')); // ''
console.log(path.extname('.src')); // ''
console.log(path.extname('src.')); // '.'
注:如果一个路径中并不包含’.‘或该路径只包含一个’.’ 或这个’.'为路径的第一个字符,则此命令返回空字符串。
console.log(path.join()) // .
console.log(path.join('src', 'lib', 'main.js')) // src\lib\main.js
console.log(path.join('///src', '/lib', 'main.js')) // \src\lib\main.js
console.log(path.join('src', '.', 'lib', 'main.js')) // src\lib\main.js
console.log(path.join('src', '..', 'lib', 'main.js')) // lib\main.js
console.log(path.dirname('C:/src/index.js')) // C:/src
一段完整路径 = path.dirname + path.basename;
ext 可选文件扩展名
console.log(path.basename('C:/src/index.js')) // index.js
console.log(path.basename('C:/src/index.js', '.js')) // index
console.log(path.isAbsolute('./src')); // false
console.log(path.isAbsolute('/src')); // true
console.log(path.isAbsolute('C:/src')); // true
console.log(path.relative('/data/ora/test/aaa', '/data/ora/impl/bbb')); // ..\..\impl\bbb
var addressObj = {
root: 'C:/',
dir: '/src/lib',
base: 'a.js',
ext: '.js',
name: 'a' }
var str = path.fotmat(addressObj);
console.log(str) // /src/lib/a.js
var addressObj = {
root: 'C:/',
dir: '/src/lib',
base: 'index.txt',
ext: '.js',
name: 'a' }
var str = path.fotmat(addressObj);
console.log(str) // /src/lib/index.txt
注:dir存在的情况下忽略root
base存在的情况下忽略ext和name
var address = 'C://src/lib/a.js';
var obj = path.parse(add);
{ root: 'C:/',
dir: 'C://src/lib',
base: 'a.js',
ext: '.js',
name: 'a' }