Open 981377660LMT opened 3 months ago
这两个函数以非常不同的方式处理以 / 开头的段;join 只会将其与前一个参数连接起来,但是 resolve 会将其视为根目录,并忽略所有先前的路径 - 将其视为执行每个参数的 cd 的结果:
path.join('/a', '/b') // Outputs '/a/b'
path.resolve('/a', '/b') // Outputs '/b'
需要注意的另一件事是,path.resolve 将始终生成绝对 URL,并将使用您的工作目录作为基础来解析此路径。但是,由于__dirname无论如何都是一条绝对的道路,因此这对您来说并不重要。
至于你应该使用哪一个,答案是:这取决于你希望从 / 开始的句段如何表现 - 它们应该简单地连接还是应该充当新的根?
https://stackoverflow.com/questions/35048686/whats-the-difference-between-path-resolve-and-path-join