path.join(__ dirname,“foo”,“bar”)vs path.join(__ dirname,“foo / bar”)

时间:2017-09-26 00:49:06

标签: node.js path

顺便说一下,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

1 个答案:

答案 0 :(得分:2)

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

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

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

  3. 使用上述逻辑加入细分后,它会对路径进行规范化,解析所有...细分。

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