前端

path.resolve 与 path.join 的区别

2020-10-30  本文已影响0人  Alaricming

path.resolve 与 path.join 的区别

先看几个栗子

// 项目的根目录是 D:\from-zero-react
const path = require('path')

// 第一组
path.join()   // .
path.resolve() // D:\from-zero-react

// 第二组
path.join('bar') // bar
path.resolve('bar') // D:\from-zero-react\bar

// 第三组
path.join('/bar') // \bar
path.resolve('/bar') // D:\bar

// 第四组
path.join('bar', 'foo') // bar\foo
path.resolve('bar', 'foo') // D:\from-zero-react\bar\foo

// 第五组
path.join('/bar', 'foo', 'lib') // \bar\foo\lib
path.resolve('/bar', 'foo', 'lib') // D:\bar\foo\lib


// 第六组
path.join('/bar', '/foo', 'lib') // \bar\foo\lib
path.resolve('/bar', '/foo', 'lib') // D:\foo\lib

// 第七组
path.join('/bar', '/foo', 'lib') // \bar\foo\lib
path.resolve('/bar', '/foo', 'lib') // D:\foo\lib

// 第八组
path.join('/bar', '../foo', 'lib') // \foo\lib
path.resolve('/bar', '../foo', 'lib') // D:\foo\lib

// 第九组
path.join(__dirname, 'bar', 'foo') // D:\from-zero-react\bar\foo
path.resolve(__dirname, 'bar', 'foo') // D:\from-zero-react\bar\foo

// 第十组
path.join('/bar', __dirname, 'foo') // \bar\D:\from-zero-react\foo
path.resolve('/bar', __dirname, 'foo') // D:\from-zero-react\foo

总结下来就是:

1,两者获取的路径相对性不一样:(第一组,第二组)

2,处理 '/' 的方式不一样

3,__dirname 的用法

4,.. 表示上一级 (第八组)

其实本质就两个不同: 相对/绝对,/ 的处理方式

上一篇下一篇

猜你喜欢

热点阅读