-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ Bug ]: vite 模板 blocklet deploy后, 不支持动态加载 modulepreload 包 #219
Comments
@LancelotLewis : 发现使用 link modulepreload 加载 js 文件天然就没有 referer, 使用内测版似乎就能解决问题了 坐等 vite3.2 更新 build.modulePreload 属性 |
vite 相关 PR |
在 3.2 beta 中设置 build.modulePreload: false 禁用掉 modulepreload 可以成功 |
是 chrome 内核的 bug,firefox 实测没有问题 在 chrome 下的表现是 link modulepreload 加载 css 有带 referer,加载 js 文件不带 referer 考虑到 modulepreload 在不同浏览器下的实现是不统一的,所以禁用 modulepreload 可能是目前最省心的选择 |
军哥的 vcm 也遇到同样的问题 后续支持后, 需要通知 vcm / tweet-token |
请问,这个修改modulepreload的crossorigin是已经在3.2.0实现了吗 |
https://cn.vitejs.dev/config/build-options.html#build-modulepreload ✅ |
@yumanman88 |
问题
在
tweet-token
迁移到vite时候发现目前在vite中, 如果用了
React.lazy
/ vite自带的import.meta.glob
语法dynamic import的包,
blocklet deploy
后, 会变成以下这样其中应该是 crossorigin="" / rel="modulepreload" 属性影响vite加载包的功能, 导致无法加载dynamic的包
查看network发现, 并没有附带 header.referer 参数, 导致被
blocklet-server
拦截了// 无referer test
// 有referer test
解决思路
晨哥
沟通后, 发现 referer 参数是需要的, 不能这样玩为什么没进行下去
在翻 vite 文档的时候, 发现英文文档 5小时前 更新了一个参数
build.modulePreload.resolveDependencies
, 感觉有戏所以先做问题记录, 后续再做修复
The text was updated successfully, but these errors were encountered: