Tailwind样式重复问题求助:DevTools中类重复显示
Laravel+Vite环境下Tailwind样式重复加载的解决办法
排查&修复步骤
检查样式引入是否重复
先确认Blade布局文件里有没有多处写@vite('resources/css/app.css')——比如主布局加了,子视图又重复加了一遍。再去vite.config.js里核对入口配置,别把app.css重复写入:export default defineConfig({ plugins: [ laravel({ input: ['resources/css/app.css', 'resources/js/app.js'], // 确保这里只出现一次app.css refresh: true, }), ], });关闭Vite开发时的自动样式注入
Vite在dev模式下会自动把CSS塞进页面的<style>标签,要是已经通过@vite引入了CSS文件,就会造成重复加载。可以在vite.config.js里加配置关闭这个行为:export default defineConfig({ plugins: [ laravel({ input: ['resources/css/app.css', 'resources/js/app.js'], refresh: true, }), ], css: { devSourcemap: false, // 关闭开发环境CSS sourcemap,避免重复注入 }, });清缓存重启服务
先关掉Vite开发服务器,然后清除Laravel视图缓存:php artisan view:clear删除
node_modules/.vite缓存目录,最后重新启动服务:npm run dev检查Tailwind配置的扫描范围
打开tailwind.config.js,看看content里有没有重复写相同的文件路径,比如同时写了resources/views/*.blade.php和resources/views/**/*.blade.php,这会让Tailwind重复生成相同样式类:export default { content: [ "./resources/views/**/*.blade.php", // 用单个通配符即可,别重复配置 "./resources/js/**/*.js", ], // 其他配置项... }
问题原因说明
Vite开发模式下会通过JS把CSS动态注入页面<style>标签,要是同时通过Blade的@vite指令引入了编译后的CSS文件,就会导致同一份样式加载两次。另外Tailwind如果重复扫描相同的视图文件,也会生成重复的样式规则,反映到DevTools里就是同一个类出现两次,必须取消勾选两个才会看到样式变化。
内容的提问来源于stack exchange,提问作者Ron B Palmer
相关产品推荐
相关产品推荐

