Nodejs 之 path.resolve(...paths)详解

一、官网介绍

新增于: v0.3.4

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

  • 返回:<string>

    path.resolve() 方法将路径或路径片段的序列解析为绝对路径。

    给定的路径序列从右到左处理,每个后续的 path 会被追加到前面,直到构建绝对路径。例如,给定路径段的顺序:/foo/barbaz,调用 path.resolve('/foo', '/bar', 'baz') 将返回 /bar/baz,因为 'baz' 不是绝对路径,但 '/bar' + '/' + 'baz' 是。

    如果在处理完所有给定的 path 片段之后,还没有生成绝对路径,则使用当前工作目录。

二、理解与示例

        理解:

  • 参数 valueX 好比在当前的工作目录(working directory)输入的cd valueX  。
  • 注意一些特定的规则:若字符以 / 开头,不会拼接到前面的路径;若以 ../ 开头,拼接前面的路径,且不含最后一节路径;若连续出现多个../../..或者../..则忽略前方..个路径名进行拼接;若以 ./ 开头或者没有符号 则拼接前面路径。

        示例:

let path = require("path")     //引入node的path模块

path.resolve('/foo/bar', './baz')   // returns '/foo/bar/baz'
path.resolve('/foo/bar', 'baz')   // returns '/foo/bar/baz'
path.resolve('/foo/bar', '/baz')   // returns '/baz'
path.resolve('/foo/bar', '../baz')   // returns '/foo/baz'
path.resolve('home','/foo/bar', '../baz')   // returns '/foo/baz'
path.resolve('home','./foo/bar', '../baz')   // returns '/home/foo/baz'
path.resolve('home','foo/bar', '../baz')   // returns '/home/foo/baz'
path.resolve('home', 'foo', 'build','aaaa','aadada','../../..', 'asset')  
//return '/home/foo/asset'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值