标签:node resolve bar baz 绝对路径 path foo
var path = require("path") //引入node的path模块
Node.js中,__dirname总是指向被执行js文件的绝对路径,所以当你在/d1/d2/myScript.js文件中写了__dirname,它的值就是/d1/d2
- __dirname: 总是返回被执行的 js 所在文件夹的绝对路径
- __filename: 总是返回被执行的 js文件的绝对路径
一:path.join()
path.join()方法顾名思义用于连接路径
path.join('/a', '/b', '/c') // /a/b/c
path.join('a', 'b', 'c') // a/b/c
path.join('/a', 'b','..' 'c') // /a/c ".."会向前跳一个目录
二、path.resolve() 将路径或者路径片段解析成绝对路径
path.resolve('/foo/bar', './baz') // /foo/bar/baz path.resolve('/foo/bar', 'baz') // /foo/bar/baz path.resolve('/foo/bar', '/baz') // /baz path.resolve('/foo/bar', '../baz') // /foo/baz path.resolve('home','/foo/bar', '../baz') // /foo/baz path.resolve('home','./foo/bar', '../baz') // /home/foo/baz path.resolve('home','foo/bar', '../baz') // /home/foo/baz path.resolve('a', 'b', 'c') // /Users/siyuan/Desktop/example/node测试/a/b/c// 因为没有遇到第一个绝对路径,所以会一直向上解析(根目录路径/a/b/c)传入路径从右至左解析,遇到第一个绝对路径解析(字符以 / 开头)停止,不会拼接到前面的路径(因为拼接到此已经是一个绝对路径);
若以 ../ 开头,拼接前面的路径,且不含最后一节路径;
若以 ./ 开头 或者没有符号 则拼接前面路径;
需要注意的是:如果在处理完所有给定的 path 片段之后还未生成绝对路径,则再加上当前工作目录。
标签:node,resolve,bar,baz,绝对路径,path,foo 来源: https://www.cnblogs.com/zhaohui9527/p/15714029.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。