vbenjs / vue-vben-admin

A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!
https://www.vben.pro
MIT License
25.39k stars 6.91k forks source link

精简版: VITE_LEGACY = true 打包后, 文件hash错误: 例如index-legacy.6ba8da47.js #1163

Closed Lance-Hu closed 1 year ago

Lance-Hu commented 3 years ago

⚠️ 重要 ⚠️ 在进一步操作之前,请检查下列选项。如果您忽视此模板或者没有提供关键信息,您的 Issue 将直接被关闭

描述 Bug

启用VITE_LEGACY=true,运行脚本preview;在Chrome浏览器v55.0.2883.87 访问网页, 会发现部分文件的hash错误, 导致资源访问不到. 而尝试用vue3的命令行创建一个新的vite项目, 同样也使用了@vitejs/plugin-legacy插件.但没有上述问题.

复现 Bug

使用精简版最新的代码可以复现该问题

系统信息

Dengyc commented 3 years ago

请问解决了吗?我也遇到这个问题了,不知道怎么解决。

meteor199 commented 3 years ago

补充信息:打包后在 不支持module的浏览器出现404,支持module的浏览器正常显示。

可能是 legacy+style-import 插件影响的。这些找不到的js文件都是 ant-design-vue中按需加载的样式文件。可能是rollup将要生成这些js文件时,被什么给拦截了,导致最终未生成这些js文件。

我目前的解决方案是 不用按需加载...

rollup的chunk信息:

{
  "id": "assets/index-legacy.0070e3e3.js",
  "files": [
    "C:/xxx/vue-vben-admin-main/node_modules/ant-design-vue/es/grid/style/index.less"
  ]
}
webzhouyan commented 2 years ago

同样问题

我找到一个临时解决方法,把treeshake 置为false可以解决 rollupOptions: { treeshake: false, },