electron程序,如何理解path.jon 和 path.resolve的区别?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
electron
的开发过程中,经常会碰到路径处理的问题。那么不可避免的就会用到path.join()
和path.resolve()
等函数。这两个函数究竟有什么样的差别呢?这就是本文中,所探讨的问题。
当然,在实际应用中,这两个函数,经常搭配的__dirname
和__statcic
已经在上一篇文章中,苏南大叔进行过了讲述,具体链接见文末。本文的测试环境是:win10
下的electron-vue
。同时,您可能需要下面的代码,否则可能收到path is not defined
的错误提示。
const path = require("path")
path.join
path.join
根据参数的变化而变化,参数是绝对地址,返回的就是绝对地址,参数是相对地址,返回的也是相对地址。举个例子来说的话,比如:在electron-vue
项目中,下面的这条语句。
console.log(path.join(__dirname,"./test"))
调试模式下,因为__dirname
是相对地址,所以,path.join()
的结果也是相对地址。
生产模式下,因为__dirname
是绝对地址,所以,path.join()
的结果也是绝对地址。
path.resolve
path.resolve
恒定返回绝对地址。比如:在electron-vue
项目中,下面的这条语句:
console.log(path.resolve(__dirname,"./test"))
无论是在调试模式还是生产模式下,path.resolve()
的结果恒定为绝对地址。
相关链接
总结
和php
的类似函数realpath()
函数相比较的话,node
里面的path.resolve()
的效果,是更为接近的。
php
的realpath()
会检测最终路径是否真实存在,不存在的话,是会返回false
的。path.resolve()
是并不会检测对应路径是不是真实存在的,只是简单的返回个绝对路径。路径是否有效,并不在考虑范围内。
更多electron
相关经验文章,请支持苏南大叔的相关文章:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
dd