前言
在node.js中,提供了一个path某块,在这个模块中,提供了许多使用的,可被用来处理与转换路径的方法与属性,将path的接口按照用途归类,仔细琢磨琢磨,也就没那么费解了。下面我们就来详细介绍下关于Node.js中的路径处理模块path。
获取路径/文件名/扩展名
获取路径:
path.dirname(filepath)
获取文件名:
path.basename(filepath)
获取扩展名:
path.extname(filepath)
获取所在路径
例子如下:
var path = require('path');
var filepath = '/tmp/demo/js/test.js';// 输出:/tmp/demo/js
console.log( path.dirname(filepath) );
获取文件名
严格意义上来说,
path.basename(filepath) 只是输出路径的最后一部分,并不会判断是否文件名。但大部分时候,我们可以用它来作为简易的“获取文件名“的方法。
var path = require('path');// 输出:test.js
console.log( path.basename('/tmp/demo/js/test.js') );
// 输出:test
console.log( path.basename('/tmp/demo/js/test/') );
// 输出:test
console.log( path.basename('/tmp/demo/js/test') );
如果只想获取文件名,单不包括文件扩展呢?可以用上第二个参数。
// 输出:test
console.log( path.basename('/tmp/demo/js/test.js', '.js') );获取文件扩展名
简单的例子如下:
var path = require('path');
var filepath = '/tmp/demo/js/test.js';// 输出:.js
console.log( path.extname(filepath) );
更详细的规则是如下:(假设
path.basename(filepath) === B )从B的最后一个.开始截取,直到最后一个字符。
如果B中不存在.,或者B的第一个字符就是.,那么返回空字符串。
直接看官方文档的例子
path.extname('index.html')
// returns '.html'path.extname('index.coffee.md')
// returns '.md'
path.extname('index.')
// returns '.'
path.extname('index')
// returns ''
path.extname('.index')
// returns ''
路径组合
path.join([...paths])
path.resolve([...paths])path.join([…paths])









