app.use('*')导致请求了不存在的js,返回了首屏内容

来源:14-1 课程回顾

亚里士多强

2022-07-06

图片描述图片描述
代码中 import 了一个不存在的 js 文件,但是页面上不是返回 404 而是返回 200,内容还是首屏内容。
排查了是 server.js 中 app.use(’*’) 带来的,应该限制一下只处理某些请求,但是这里不知道该怎么写。

写回答

1回答

Harry_wang

2022-07-06

引入一个不存在的文件,当进行服务端渲染时,可以在终端看到matchedComponents是空数组,如下图:

//img.mukewang.com/szimg/62c5a030099ef4be09460201.jpg

因此顺藤摸瓜,来到enty-server.ts中增加一个条件判断,代码片段如下图:

//img.mukewang.com/szimg/62c59f4d09651c9814560708.jpg

这样客户端会针对不存在的引入文件报500,而不是插入一些渲染的html片段,如下图:

//img.mukewang.com/szimg/62c5a0f2098f74eb08340652.jpg

0
4
亚里士多强
非常感谢!
2022-07-08
共4条回复

Vue3+TS打造SSR网站应用,0到1实现服务端渲染

教你一套前端技术组合拳,Get全套网站优化解决方案

368 学习 · 192 问题

查看课程