敲代码需要一丝不苟,Node静态化,ejs文件里多了一条外联下的Bug问题

39 篇文章 0 订阅
9 篇文章 0 订阅

这个Bug是昨天晚上遇到,去SF社区提了出来,估计是太晚了,没人回答,今天早上两个回答。

第一个人回答主要是解决双重回调,也怪我,我刚开始也以为是双重回调的问题,因为最近看的网上资料全是Promise和async/await解决回调问题。我想我真不会遇到了?其实不是。

第二个大佬认真看了我贴的代码,然后一步步在评论区里沟通,最后说到了为什么css和头像文件会在请求req里出现,估计是我的静态化问题。然后我就把注意力转过来了,去看user.ejs,上来就发现了一个问题,我静态路由是app.use(“/avatar”,express.static(“./avatar”));,在ejs里面传参还是要加上avatar这个虚拟路径的,我没加。 =-=,然后css和js脚本都是在public的,我直接静态app.use(express.static(“./public”));,这个意思就是当用户不管访问你这个网站的什么东西,页面,资源,接口等等,都会优先从你的本地的public文件夹里先找,找的话就展示,找不到就继续走下面的路由,所以这个前面就不用加虚拟路径了,可是运行还是报那个错误,avatar undfined,这位大佬也提到了我req里为什么会有css请求啊,然后去看了public,我把jumbotron.css是放在css文件外面,静态化之后相当于在根目录,因为这个css里就放了body的两个样式,当时没多想放在直接放在public里,没有跟public的css文件放在一起,然后我又去看了ejs里这个css的外联,只有这一个css文件发生了请求,那么这个css的静态化是失败的,,我老老实实把这个css放在css文件夹,改成了,Bug解决,拍手。。。=-=

估计是我一开始就在public下放着,所以我就直接”/”,可能是有的链接写成是”/css”了。虽然不是什么高深的bug,但是仅从Node的这一点报错信息,也还是需要慢慢来排查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值