Node.js文件路径的坑

初学nodejs,在今天遇到了一个神奇的问题,先上代码:

 var data = fs.readFileSync( './system-config.json', "utf8")

没错,我想读取system-config.json中的配置。刚开始,无论如何也读不到,连个错误信息也没有。调试了一番,终于出了一个错误信息:
no such file or directory
怎么可能?先看看我的工程目录结构:

<code>
root----
|_others
|_init
|_system-config.json
</code>
明明就在这里啊,明明有啊!!!确认了好几遍的!!既然系统说找不到那肯定还是路径不对,最后改成:

 var data = fs.readFileSync(__dirname + '/system-config.json', "utf8")

成功!!!喜极而泣!!!原来,只有 require 的路径是相对当前文件,其他大部分函数接收的路径都是相对于「当前工作目录」即程序运行时的 cwd。所以别一种解决方式就是:

path.join(process.cwd(), '/init/system-config.json')

当然了,cwd这种方式要保证启动文件在程序的根目录下。
参看这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值