npm------Node.js 文件路径模块(path)

it2023-05-27  70

解析和规范化都不会检查路径是否存在。 其只是根据获得的信息来计算路径

不同的系统路径表示不同:

在 Linux 和 macOS 上,可能是这样的:/users/joe/file.txt在 Windows 上则是这样子的: C:\users\joe\file.txt

以下内容默认已经安装过NodeJs软件:官网地址

可以使用以下方式将此模块引入到文件中: 

const path = require('path') // 该模块nodejs软件全局已安装

 从路径中获取信息:

dirname: 获取文件的父文件夹。basename: 获取文件名部分。extname: 获取文件的扩展名。 1. const notes = '/users/joe/notes.txt' path.dirname(notes) // /users/joe path.basename(notes) // notes.txt path.extname(notes) // .txt 为 basename 指定第二个参数来获取不带扩展名的文件名: path.basename(notes, path.extname(notes)) //notes 2. a.path.join() 使用路径:path.join() 连接路径的两个或多个片段(中间值用逗号隔开即可,会拼接起来) const name = 'joe' path.join('/', 'users', name, 'notes.txt') // '/users/joe/notes.txt'

path.join() :拼接路径

使用路径:path.join() 连接路径的两个或多个片段(中间值用逗号隔开即可,会拼接起来) const name = 'joe' path.join('/', 'users', name, 'notes.txt') // '/users/joe/notes.txt'

 path.resolve() :获取文件的绝对路径

使用 path.resolve() 获得相对路径文件的绝对路径并返回对应值的字符串形式: path.resolve('joe.txt') //'/Users/joe/joe.txt' 如果从主文件夹运行。 window中:当前目录文件http.js path.resolve('http.js') : 'E:\前端目录\javascript面试demo\node\http.js' 指定第二个文件夹参数,则 resolve 会使用第一个作为第二个的基础: path.resolve('dist','http.js'):只是名义上在文件前面插入了一个路径,不会复制和转移该文件到对应路径: 'E:\前端目录\javascript面试demo\node\dist\http.js' 如果第一个参数以斜杠开头,则表示它是绝对路径:(中间的部分会自动找到,如果无就为空) path.resolve('E:', 'joe.txt') // "E:\前端目录\javascript面试demo\node\joe.txt"

实际开发中通常这样写:来获取当前文件的绝对路径

console.log(path.resolve(__dirname,'b.txt')) // e:\前端目录\javascript面试demo\node\b.txt // 这样子写不论哪个用户使用该项目都可以获取到其文件的所在路径 console.log(path.resolve(__dirname)) // e:\前端目录\javascript面试demo\node // 获取到当前文件的前置目录

path.normalize():对于. .. // 等相对说明符会尝试获取其实际的路径

path.normalize('/users/joe/..//test.txt') ///users/test.txt

 

最新回复(0)