ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

__dirname 、path.resolve()

2022-01-21 17:30:00  阅读:170  来源: 互联网

标签:__ resolve 拼接 test path dirname


__dirname 总是指向被执行 js 文件的绝对路径

比如你在 /a1/a2/test.js文件里写代码,那么此时__dirname就是/a1/a2

__filename指定的是绝对文件路径

path.join()方法是将多个参数字符串合并成一个路径字符串

如果当前文件的路径是D:/test/1,

path.join(__dirname,'a','b') 拼接出来就是D:/test/1/a/b

path.join(__dirname,'/a','/b','..') 拼接出来的结果是:D:/test/1/a 其中路径开头的/不会影响拼接,..代表父级

path.join(__dirname,'a',{},'b') 会抛出错误:Path must be a string 因为字符串不合法

path.resolve([from...],to) 方法 以程序为根目录,作为起点(如果有/以/代表绝对路径根目录,以/为起点),普通字符串代表子目录,从右往左开始根据参数解析出一个绝对路径

from                     源路径
to                         将被解析到绝对路径的字符串

如果当前文件的路径是D:/test/1,

path.resolve()   拼接出来就是应用程序启动文件的目录(当前执行文件绝对路径) D:\test\1

path.resolve('a','/c')   拼接出来就是D:\c

path.resolve('/foo','/bar','baz')   拼接出来就是D:\bar\baz 

path.resolve('/foo/bar', './baz')     拼接出来就是 D:\foo\bar\baz

因为/斜杠代表根目录,所以一般拼接时需要小心使用/斜杠

path.resolve(__dirname,'img/so')   拼接出来就是D:\test\1\img\so 就是将文件路径拼接,并不管这个路径是否真实存在

path.resolve('www', 'imgs/png/', '../abc/image.jpg')    拼接出来就是D:\test\1\www\imgs\abc\image.jpg

因为开始的字符串不是以/开头的,所以这是用当前应用程序启动文件绝对路径与后面所有字符串拼接的,..代表上一级目录

标签:__,resolve,拼接,test,path,dirname
来源: https://blog.csdn.net/m0_62012366/article/details/122622884

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有