当前位置: 首页 > 面试题库 >

path.resolve和path.join调用之间的区别?

孙元明
2023-03-14
问题内容

以下调用之间有区别吗?

path.join(__dirname, 'app')

path.resolve(__dirname, 'app')

应该首选哪一个?


问题答案:

这两个函数/截然不同的方式处理段。join只会将它与前一个参数连接起来,但是resolve会将其视为根目录,并忽略所有先前的路径-
将其视为cd与每个参数一起执行的结果:

path.join('/a', '/b') // Outputs '/a/b'

path.resolve('/a', '/b') // Outputs '/b'

要注意的另一件事是,path.resolve它将始终产生绝对URL,并且将使用您的工作目录作为解析此路径的基础。但是,__dirname无论如何,这都是一条绝对路径,这对您而言并不重要。

对于您应该使用哪一个,答案是:这取决于您希望段开始的/行为-是将它们简单地连接还是作为新的根?

如果其他参数是经过硬编码的,则实际上并不重要,在这种情况下,您应该考虑(a)此行将来可能如何更改,以及(b)与代码中其他位置的一致性如何。



 类似资料:
  • 问题内容: 同时 使用和和来解析Node.js中的绝对路径是否有区别? 这样使用时,是否应该首选其中之一(绝对路径分辨率为用例的90%)? 即 与 两种方法都将路径标准化。 这不是 该问题的重复项,因为接受的答案是错误的。 问题答案: 是的,功能之间存在差异,但是在这种情况下,您使用它们的方式将产生相同的结果。 通过将两个路径合并在一起来返回规范化路径。它可以返回绝对路径,但不一定总是这样。 例如

  • 问题内容: syscall 返回-1,而set 是一个简单的情况。我对C 调用返回零或正的状态感兴趣。该包装在围棋简单的返回,如果不是任何情况下,其中还包括的零的情况下调用返回正数。 https://github.com/golang/go/blob/3cb64ea39e0d71fe2af554cbf4e99d14bc08d41b/src/syscall/zsyscall_linux_386.go

  • 本文向大家介绍测试和调试之间的区别,包括了测试和调试之间的区别的使用技巧和注意事项,需要的朋友参考一下 在以任何编程语言开发的任何软件或应用程序的开发过程中以及开发之后,测试和调试都是最重要的步骤或实践。现在,根据功能和实践方法,我们可以区分测试和调试。 以下是测试和调试之间的重要区别。 序号 键 测验 调试 1 定义 从技术上来说,测试是检查应用程序是否与预期功能相同的过程,而不是应有的功能。

  • 问题内容: 在Python 2.7和3中,我使用以下方法来调用超类的函数: 我看到也可以在python3中用和替换。 这两种方式都有什么优点或缺点?至少直接从我这里调用它更有意义,但是也许有充分的理由只能在使用元类时使用(我通常会避免)。 问题答案: 对于单继承,只是引用基本类型的一种更简单的方法。这样,您可以使代码更具可维护性,例如,如果您想更改基本类型的名称。当您在各处使用时,只需在生产线中进

  • 问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:

  • 问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。