七天学会node.js 3 - Path(转+学)

path.normalize

将传入的路径转换为标准路径,具体讲的话,除了解析路径中的.与..外,还能去掉多余的斜杠。如果有程序需要使用路径作为某些数据的索引,但又允许用户随意输入路径时,就需要使用该方法保证路径的唯一性。以下是一个例子:

var path = require('path');
var cache = {};

function store(key, value) {
    cache[path.normalize(key)] = value;
}

store('foo/bar', 1);
console.log(cache); //=> { 'foo\bar': 1 }
store('foo//baz//../bar', 2);
console.log(cache);  // => { 'foo\bar': 2 }

注意:标准化之后的路径里的斜杠在Windows系统下是\,而在Linux系统下是/。如果想保证任何系统下都使用/作为路径分隔符的话,需要用.replace(/\/g, ‘/’)再替换一下标准路径。

path.join

将传入的多个路径拼接为标准路径。该方法可避免手工拼接路径字符串的繁琐,并且能在不同系统下正确使用相应的路径分隔符。以下是一个例子:

console.log(path.join('foo/', 'baz/', '../bar'));//=> foo\bar

path.extname

当我们需要根据不同文件扩展名做不同操作时,该方法就显得很好用。以下是一个例子:

console.log(path.extname('foo/bar.js'));    //  =>  .js

path.basename(p[, ext])

返回路径的最后一部分。例子如下:

console.log(path.basename('/foo/bar/baz/asdf/quux.html'));    //  =>  quux.html
console.log(path.basename('/foo/bar/baz/asdf/quux.html', '.html'));    //  =>  quux

path.format(pathObject)

从一个对象返回一个路径字符串。例子如下:

var path1 = path.format({
    root : "\\",
    dir : "\\home\\user\\dir",
    base : "file.txt",
    ext : ".txt",
    name : "file"
});
console.log(path1); //  =>  \home\user\dir\file.txt(注意windows下反斜杠需要转义)

path.parse(pathString)

从路径字符串返回一个对象。例子如下:

var path2 = path.parse('/home/user/dir/file.txt');
console.log(path2);
//return
//{ root: '/',
//  dir: '/home/user/dir',
//  base: 'file.txt',
//  ext: '.txt',
//  name: 'file' }

其他相关路径操作请看官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值