node : 4 path模块

path模块提供了一些工具函数,用于处理文件与目录的路径。由于windows和其他系统之间路径不统一,path模块还专门做了相关处理,屏蔽了彼此之间的差异。

可移植操作系统接口(POSIX)

posix(Portable Operating System Interface)

windows系统和类unix系统的路径的区别

目录结构的区别

windows:略

linux:

path模块

1.获取路径的文件名: path.basename(path[, ext])

参数:

  • path <string> 完整文件名路径
  • ext <string> 可选的文件扩展名
  • 返回:<string>文件名

示例代码:

// 引入path模块
const path = require("path"); // const用于声明变量,变量的值不能改变。(简单类型的值不能变,引用类型的地址不能改变)

var strpath1 = "/home/lili/fortest.html";
var strpath2 = "c:\\user\\lisa\\Documents\\My\\Learn_CodeTych\\Vscode\\node2_laoma\\test\\test.html";
// path.basename 获取文件名
// 1.
console.log(path.basename(strpath1));  // fortest.html
console.log(path.basename(strpath2));  // test.html
// 2.
console.log(path.basename(strpath1, ".html")); // fortest

2. 其他的请自行查api文档:nodejs.cn/api/path.html

一些示例代码:

// 引入path模块
const path = require("path"); // const用于声明变量,变量的值不能改变。(简单类型的值不能变,引用类型的地址不能改变)

var strpath1 = "/home/lili/fortest.html";
var strpath2 = "c:\\user\\lisa\\Documents\\My\\Learn_CodeTych\\Vscode\\node2_laoma\\test\\test.html";
// path.basename 获取文件名
// 1.
console.log(path.basename(strpath1));  // fortest.html
console.log(path.basename(strpath2));  // test.html
// 2.
console.log(path.basename(strpath1, ".html")); // fortest

// path.delimiter 
console.log(path.delimiter); // ;(显示当前系统的,由于当前操作系统是windows故是 ;)
console.log(path.win32.delimiter); // ;
console.log(path.posix.delimiter); // :
// ps: 通过win32调用windows的api;通过posix调用类unix的api。 (尽管path的底层已经做了处理,可是也可以通过调不同系统的api这样用)

// path.dirname
console.log(path.dirname(strpath2)); // c:\user\lisa\Documents\My\Learn_CodeTych\Vscode\node2_laoma\test

console.log(path.dirname(__filename)); // C:\Users\lisa\Documents\My\Learn_CodeTych\Vscode\node2_laoma (等价于 __filename)

// 获取扩展名
console.log(path.extname("a.html")) // .html

发布了191 篇原创文章 · 获赞 1 · 访问量 4691

猜你喜欢

转载自blog.csdn.net/bluebloodye/article/details/103149231