vant-ui / vant-nuxt

Vant module for Nuxt
MIT License
78 stars 9 forks source link

自动引入组件css分离后因加载顺序异常导致显示错误 #28

Closed DooperJ closed 5 months ago

DooperJ commented 6 months ago

包版本: nuxt:3.8.2 Nitro:2.8.1 Vant:4.8.0 @vant/nuxt:1.0.4 问题: css文件顺序导致多个类名的元素css属性被覆盖 复现: 问题暂时无法提供最小化情况复现,在nuxt dev时不存在该情况 复现要求: 1.项目总体积达到一点程度后 会因为多两行行注释而异常,少两行注释则正常,也是无法提供最小化复现的原因 猜测当总体积小于一定量的时候,vant的样式不会被拆分,会全部放在entry.css中 2.需要通过nuxt build出来node运行 3.受路由影响 首页跳转到页面a,点击触发showImagePreview => 异常 直接通过完整访问ssr的路由,点击触发showImagePreview => 正常 4.影响组件包括但不限于showImagePreview、van-search 上诉4点须同时满足,暂未确定其他影响因素

表现: 异常表现: QQ截图20231208143054 期望/正常表现: QQ截图20231208143223

暂时的解决方案: 弃用@vant/nuxt,使用传统模式注册vant,如 /plugins/vant.js `import vant from 'vant' import 'vant/lib/index.css'

export default defineNuxtPlugin(nuxtApp => { nuxtApp.vueApp.use(vant) }) `

tolking commented 5 months ago

参考

你可以配置禁用样式自动加载,然后手动加载样式

modules: ['@vant/nuxt'],
  vant: {
    importStyle: false,
  },