这两个函数以
/截然不同的方式处理段。
join只会将它与前一个参数连接起来,但是
resolve会将其视为根目录,并忽略所有先前的路径-
将其视为
cd与每个参数一起执行的结果:
path.join('/a', '/b') // Outputs '/a/b'path.resolve('/a', '/b') // Outputs '/b'要注意的另一件事是,
path.resolve它将始终产生绝对URL,并且将使用您的工作目录作为解析此路径的基础。但是,
__dirname无论如何,这都是一条绝对路径,这对您而言并不重要。
对于您应该使用哪一个,答案是:这取决于您希望段开始的
/行为-是将它们简单地连接还是作为新的根?
如果其他参数是经过硬编码的,则实际上并不重要,在这种情况下,您应该考虑(a)此行将来可能如何更改,以及(b)与代码中其他位置的一致性如何。



