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

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

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

第二个大佬认真看了我贴的代码,而后一步步在评论区里沟通,最后说到了为何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解决,拍手。。。=-=app

估计是我一开始就在public下放着,因此我就直接"/",多是有的连接写成是"/css"了。虽然不是什么高深的bug,可是仅从Node的这一点报错信息,也仍是须要慢慢来排查。async

相关文章
相关标签/搜索