express.static(目录)托管不成功的原因之一

在nodejs中,我们使用相对路径一定要小心,这个所谓的相对是相对于当前运行node的目录.

单纯这么说有点拗口
上图

如图所示,我的server.js是在web_server目录下,而web_server是在壁纸网站目录下

壁纸网站\web_server\server.js

 当前server.js代码中第十行代码 我托管了一个img目录,但是实际上img目录在web_server目录下  

当我在壁纸网站目录下执行node的时候

nodejs会在壁纸网站目录下去找一个叫做img的目录,当然是找不到的,所以会报错

但如果我在web_server目录下执行node

nodejs会在web_server目录下去找一个叫做img的目录,这时候是可以找到的

但是,这样每次自己运行时要看当前的目录,稍不留神就会找不到文件夹,这是很让人不爽的,所以我们可以使用__dirname

__dirname表示的是js文件所在的目录(我猜测这是一个宏,在执行时会转为绝对路径)

加上__dirname后的效果和使用绝对路径一致,也就不需要关注执行node的目录了

不过值得注意的是,要记得加    ‘’,大家可以手动输出__dirname看看

那么为什么不使用绝对路径呢?

(因为懒得跑去复制路径 ,哈哈)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值