
优化Vite配置,避免重复引入公共CSS样式
在Vite项目中,引入全局SCSS样式时,常常会遇到重复引入的问题,导致代码冗余和构建体积增大。本文介绍如何配置Vite,提取公共CSS文件,避免此类问题。
问题:重复引入全局样式
假设你的Vite配置如下,意图引入global.scss:
css: {
preprocessorOptions: {
scss: {
additionalData: '@import "@/global.scss";',
javascriptEnabled: true
}
}
}
然而,构建后每个CSS文件都包含了global.scss的内容。
解决方案:使用插件提取公共CSS
解决此问题,需要借助vite-plugin-css-injected-by-js插件。
立即学习“前端免费学习笔记(深入)”;
- 安装插件:
npm install vite-plugin-css-injected-by-js
-
配置Vite: 在
vite.config.js中添加插件:
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'; // 如果你使用Vue
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js';
export default defineConfig({
plugins: [
vue(), // 如果你使用Vue
cssInjectedByJsPlugin(),
],
css: {
preprocessorOptions: {
scss: {
additionalData: '@import "@/global.scss";',
javascriptEnabled: true
}
}
}
});
-
确保正确引入: 在组件中,不要直接使用
标签引入global.scss,而是依赖于上述additionalData配置。 -
验证结果: 重新构建项目,检查生成的CSS文件,确保
global.scss的内容只存在于一个单独的CSS文件中。
通过以上步骤,你可以有效避免在Vite中重复引入公共CSS样式,从而优化项目构建效率和文件大小。










