Node.js path.join删除前导期

我带着一个我计划在个人计算机上摆弄的工作项目回家,我安装了所有东西,使用完全相同的环境(Node v0.11.12)等。启动项目,然后我收到消息,抱怨configuration加载程序模块找不到一个文件(存在,并在错误显示的path)。

仔细查看错误,我意识到问题是path.join() 。 哪里

 path.join('./foo/bar'); // 'foo/bar' 

哪个不好。 为什么path.join删除前导期?

** 注意 **

以上只是一个例子。 程序利用这个function

 var configFile = require(path.join(modulePath, 'conf', file)); 

例如, modulePath是相对于当前工作目录(即./app/module/

这是正确的行为,并logging在Path.join文档中:

一起join所有的参数并规范化结果path。

这是正确的,因为foo/bar ./foo/bar的规范化(规范)forms,就像./foo/bar的规范化forms./foo/././bar/. 或者foo/baz/../bar

require('./foo/bar')require('foo/bar')的区别,以及由此产生的任何问题,都应该在没有path.join的不同问题中具体解决。