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
的不同问题中具体解决。