path模块的使用

在nodejs中,path是个使用频率很高,但却让人又爱又恨的模块。部分因为文档说的不够清晰,部分因为接口的平台差异性。以下是我总结的一些简单用法,我用的win10电脑。

一、path的访问

在代码开头直接引入如下,即可:

const path = require('path');

二、常用方法

1.获取路径:path.dirname

例子:

var path = require('path');

var filePath = '/node/path/test.js';
console.log(path.dirname(filePath));
//输出:\node\path

2.获取文件名:path.basename

可以直接写为:

console.log(path.basename('/node/path/test.js'));
//输出:test.js

3.获取文件扩展名:path.extname

例子:

console.log(path.extname('/node/path/test.js'));
//输出: .js
console.log(path.extname('test.html'));
//输出: .html

4.路径组合:path.join

例子:

console.log(path.join('/node','path','bar/baz','test'));
//输出:\node\path\bar\baz\test

5.路径解析:path.parse

例子:

console.log(path.parse('/node/path/test.js'));
//输出:
//{ root: '/',
  //dir: '/node/path',
  //base: 'test.js',
  //ext: '.js',
  //name: 'test' }

6.路径组合:path.format

例子:

var p1 = path.format({
  root: '/tmp/', 
  base: 'hello.js'
});
console.log( p1 ); 
// 输出 /tmp/hello.js
 
var p2 = path.format({
  dir: '\tmp', 
  name: 'hello',
  ext: '.js'
});
console.log( p2 );
//输出:\tmp\hello.js

7.获取相对路径:path.relative(from, to)

从from路径到to路径的相对路径
例子:

var p1 = path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
console.log(p1);  // 输出 "../../impl/bbb"
 
var p2 = path.relative('/data/demo', '/data/demo');
console.log(p2);  // 输出 ""
 
var p3 = path.relative('/first/path', '');
console.log(p3);  
//输出:..\..\node-workspace\three-period\first
//(这是我的js当前路径)

8.判断是否是当前路径:path.isAbsolute

例子:

path.isAbsolute('//server');    // true
path.isAbsolute('\\\\server');  // true
path.isAbsolute('C:/foo/..');   // true
path.isAbsolute('C:\\foo\\..'); // true
path.isAbsolute('bar\\baz');    // false
path.isAbsolute('bar/baz');     // false
path.isAbsolute('.');           // false

10.规范化路径:path.normalize

会解析'..'和'.'片段
例子:

console.log(path.normalize('C:\\temp\\\\foo\\bar\\..\\'));
// 输出: 'C:\\temp\\foo\\'

你可能感兴趣的:(path模块的使用)