vite:asset
2023年12月28日
一、认识
vite:asset
,开发阶段实现了其他格式静态资源的加载,而生产环境会通过 renderChunk
钩子将静态资源地址重写为产物的文件地址,如./img.png
重写为 https://cdn.xxx.com/assets/img.91ee297e.png
。
值得注意的是,Rollup
本身存在 asset cascade
问题,即静态资源哈希更新,引用它的 JS
的哈希并没有更新。因此 Vite
在静态资源处理的时候,并没有交给 Rollup
生成资源哈希,而是自己根据资源内容生成哈希,并手动进行路径重写,以此避免 asset-cascade
问题。