启用CSS LINK元素未触发load事件的技术咨询(vite-plugin-single-spa场景)
关于vite-plugin-single-spa中CSS LINK元素重新启用的load事件与网络请求问题
我正在增强vite-plugin-single-spa插件,处理#120号Issue。已提交的PR基本可用,但遇到一个不符合预期的行为:
- 禁用状态的CSS LINK元素重新启用时会触发网络请求(此情况可接受)
- 但该元素始终不会触发load事件(不符合预期)
复现细节
使用简单Svelte项目可复现该问题,但无法制作更精简示例——并非所有重新启用的LINK元素都会触发网络请求。我推测这一行为由内容缓存策略控制:
- 示例1:导入CDN上的Bootstrap时,重新启用LINK元素不会触发网络请求:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
- 示例2:在常规Vite + Svelte项目中从/public文件夹导入CSS文件时,重新启用LINK元素会触发网络请求,但load事件始终不会触发。
核心问题
- 我认为“只要有网络请求就应该触发load事件”,这个想法是否错误?
- 若缓存策略确实决定了重新启用LINK元素时是否触发网络请求,该如何判断这种情况?vite-plugin-single-spa的业务场景需要实现这个判断逻辑。
内容的提问来源于stack exchange,提问作者José Ramírez
相关产品推荐
相关产品推荐

