node.js常用内置模块--Path

2020-12-16  本文已影响0人  31313_iOS

Path模块提供了用于处理文件和目录路径的实用程序。
在Mac OS、Linux和window上的路径是不一样的:

为了适应不同操作系统上路劲的差异,在开发中对于路劲的操作我们可以使用Path模块。
更多使用方式请查阅官网Path介绍。

一、 Path的引入

const path = require('path')

二、__dirname

获取当前文件所在文件夹的路劲

// 当前文件路劲
const currentPath =  __dirname
console.log(currentPath);
// /Users/zzcm/Desktop/node

三、 Path常见的API

path.dirname(path)获取文件的父文件夹;

const filePath = '/user/passer/node/passer.text'

//获取文件的父文件夹
const dirPath = path.dirname(filePath)
console.log(dirPath); ///user/passer/node

path.extname(path) 获取文件扩展名;

//获取文件的扩展名
const extname = path.extname(filePath)
console.log(extname); //.text

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.extname('.index.md');
// Returns: '.md'

path.basename(path[, ext])获取文件名

//获取文件名
const baseName = path.basename(filePath)
console.log(baseName); //passer.text

path.parse(path)其属性表示路径的重要元素

// 获取到某个文件的信息(根、父文件夹、名字包含扩展名、扩展名 ,文件名字)
const parse = path.parse('/home/user/dir/file.txt');
console.log(parse);
//输出结果
//{
//  root: '/',
//  dir: '/home/user/dir',
//  base: 'file.txt',
//  ext: '.txt',
//  name: 'file'
// }

path.resolve([...paths])将一系列路径或路径段解析为绝对路径

如果我们希望将某个文件和文件夹拼接,可以使用 path.resolve;

const path1 = path.resolve('passer.txt'); 
const path2 =path.resolve('/passer.txt'); 
const path3 = path.resolve('/User/passer', 'passer.txt'); 
const path4 =path.resolve('User/passer', 'passer.txt'); 

// /Users/zzcm/Desktop/node/passer.txt
// /passer.txt
// /User/passer/passer.txt
// /Users/zzcm/Desktop/node/User/passer/passer.txt

path.join([...paths])路劲拼接

const path5 = path.join('/user', 'passer', 'passer.txt')
console.log( path5);
//user/passer/passer.txt

path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// Returns: '/foo/bar/baz/asdf'

path.join('foo', {}, 'bar');
// Throws 'TypeError: Path must be a string. Received {}'

更多使用方式请查阅官网Path介绍。

上一篇下一篇

猜你喜欢

热点阅读