gpt4 book ai didi

node.js - path.join(__dirname, "foo", "bar") vs path.join(__dirname, "foo/bar")

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:38 25 4
gpt4 key购买 nike

顺便说一下,foobar 将是字符串文字

我见过很多同时使用 "foo/bar""foo", "bar" 的存储库

我用 benchmark js 做了一个基准测试使用以下代码(我还制作了 gist )

suite.add('foo/bar', function() {
path.join(__dirname, 'foo/bar')
})
.add('foo, bar', function() {
path.join(__dirname, 'foo', 'bar')
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').map('name'));
})
.run({ 'async': true });

而且 foo/bar 更快。但我仍然看到很多类似 path.join(__dirname, '..', '..', 'node_modules')

的代码

那么有什么理由使用path.join(__dirname, 'foo', 'bar')

我也在谈论path.resolve

最佳答案

使用path.join()有三个主要好处。

  1. 它会自动检查尾随分隔符,因此您永远不会在结果路径中同时出现两个分隔符。

  2. 它会自动使用特定于平台的路径分隔符(在 Windows 上是反斜杠)。

  3. 使用上述逻辑连接段后,它会标准化路径,解析任何 ... 段。

因此,当您需要任何此功能时,可以肯定地使用 path.join() 。如果您不需要任何这些功能,那么您可以采用任何一种方式(使用您自己的手动路径构造或使用 path.join())。

关于node.js - path.join(__dirname, "foo", "bar") vs path.join(__dirname, "foo/bar"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46416207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com