path模块的拼接

1.什么是path路径模块

    path模块是Node.js官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。

 例如:

        path.join() 方法,用来将多个路径拼接成一个完整的路径字符串

        path.basename() 方法,用来从路径字符串中,将文件名解析出来

如果要在JavaScript代码中,使用path模块来处理路径,则需要使用如下的方法先导入它:

const path = require('path')

2.路径拼接 

(1).path.join()的语法格式

使用path.join()方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下:

path.join([...paths])

   参数解读:

...paths<string>路径片段的序列

返回值:<string>

 (2).path.join()的代码

使用path.join()方法,可以把多个路径片段拼接为完整的路径字符串:

const path = require("path")
//注意:../会抵消前面的一个路径
const pathStr = path.join('/a','/b/c','../','./d','e')
console.log(pathStr);//\a\b\d\e
 
const pathStr1 = path.join(__dirname,'./04.js')
console.log(pathStr1);//E:\CODE\Node\01\04.js

注意:凡是涉及到路径拼接的操作,都要使用path.join()方法进行处理,不要直接使用+字符串拼接。

3.获取路径中的文件名  

(1).path.basename()的语法格式

使用path.basename()方法,可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名,语法格式如下:

path.basename(path[,ext])

参数解读:

path<string>必选参数,表示一个路径的字符串

ext<string>可选参数,表示文件扩展名

返回:<string>表示路径中的最后一部分

(2).path.basename()的代码

使用path.basename()方法,可以从一个文件路径中,获取到文件的名称部分:

const path = require('path')
 
const fpath = 'a/b/c/d/index.html'
 
var fullName = path.basename(fpath)
console.log(fullName);//index.html
 
var nameWithoutExt = path.basename(fpath,'.html')
console.log(nameWithoutExt);//index

4.获取路径中的文件扩展名

(1).path.extname()的语法格式

使用path.extname()方法,可以获取路径中的扩展名部分,语法格式如下:

path.extname(path)

参数解读:

path<string>必选参数,表示一个路径的字符串

返回:<string>返回得到的扩展名字符串

(2).path.extname()的代码

const path = require('path')
 
const fpath = 'a/b/c/d/index.html'
 
const fext = path.extname(fpath)
console.log(fext);//.html

Node.jspath 模块是核心模块之一,主要用于操作处理文件路径,在开发服务器应用、处理文件上传与下载等任务时,路径操作是常见需求,该模块提供了一系列便捷方法来简化这些任务[^1]。 path 模块具有丰富且强大的路径操作功能,通过其方法,开发者能更高效、便捷地管理文件目录路径。特别是在跨平台开发中,path 模块的统一 API 大大简化了路径处理的复杂性[^2]。 在 Node.js 开发里,无论是处理用户上传的文件,还是组织项目目录结构,路径操作都是日常任务,掌握 path 模块十分必要。其核心 API 包含路径拼接、路径拆解以及系统相关属性等内容,同时还能应用于打造安全文件服务器等实战案例中,并且有跨平台开发必备技巧高级进阶技巧等内容[^3]。 在 require 导入自定义模块的基本流程中,也会用到 path 模块的方法。例如将相对路径转为绝对路径来定位目标文件,代码示例如下: ```javascript /** * 伪代码 * 理解为node.js里require的实现 */ function require(file){ //1. 将相对路径转为绝对路径,定位目标文件 let absolutePath = path.resolve(__dirname, file); //2. 缓存检测 if(caches[absolutePath]){ return caches[absolutePath]; } //3. 读取文件的代码 let code = fs.readFileSync(absolutePath).toString(); //4. 包裹为一个函数 然后执行 let module = {}; let exports = module.exports = {}; (function (exports, require, module, __filename, __dirname) { const test = { name: '尚硅谷' } module.exports = test; //输出 console.log(arguments.callee.toString()); })(exports, require, module, __filename, __dirname) //5. 缓存结果 caches[absolutePath] = module.exports; //6. 返回 module.exports 的值 return module.exports; } const m = require('./me.js'); ``` 这里通过 `path.resolve(__dirname, file)` 将相对路径转为绝对路径[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值