Vite 中怎么添加全局 scss 文件

使用 Vite 开发项目,配套周边生态使用起来,开发效率会很高。但也会有一些问题需要解决。

当我们使用 scss 时,希望能够把一些定义变量,定义mixin 的文件全局加载,避免每处用到还要单独引入这些文件。

这就需要一些配置解决。

在 Vite 项目中添加全局 SCSS 文件可以通过以下步骤实现:

  1. 安装 SASS 依赖:
bash 复制代码
npm install -D sass
  1. 创建全局 SCSS 文件:

在 src 目录下创建一个 styles 文件夹,并添加你的全局 SCSS 文件,例如 variables.scss, mixins.scss.

  1. 配置 vite.config.ts:

在 vite.config.ts 文件中添加以下配置:

typescript 复制代码
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'

export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src')
    }
  },
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: '@import "@/styles/variables.scss";',
        javascriptEnabled: true
      }
    }
  }
})

这个配置会自动将 variables.scss 文件引入到所有的 SCSS 文件中。

  1. 使用全局变量:

现在你可以在任何组件的 SCSS 中使用定义好的全局变量了.

对于普通的 SCSS 样式文件(非变量或 mixin),你可以在 main.ts 文件中直接导入:

typescript 复制代码
import { createApp } from 'vue'
import App from '@/App.vue'
import '@/styles/global.scss'

const app = createApp(App)
app.mount('#app')

注意,对于 mixin 文件,需要在 vite.config.ts 中进行配置,而不是在 main.ts 中直接导入.

通过这些步骤,你就可以在 Vite 项目中成功添加并使用全局 SCSS 文件了。这种方法可以让你在整个项目中共享 SCSS 变量、mixins 和其他全局样式,提高代码的复用性和维护性。

相关推荐
天渺工作室2 小时前
实现一个adblock/adblock plus等浏览器广告拦截器检测插件
前端·javascript
阳光是sunny2 小时前
Vue 项目怎么做用户行为全链路监控?轻量插件方案详解
前端·面试·架构
ZhengEnCi2 小时前
Q04-Vite禁用CSS代码分割-解决生产环境样式加载顺序混乱问题
前端·vue.js·vite
九酒3 小时前
AI Agent 开发踩坑记:口播功能非得用 APP 原生实现吗?
前端·人工智能·agent
Jackson__3 小时前
做了一段时间的AI coding后,我终于搞清了 CLI 和 MCP 的区别
前端·agent·ai编程
IT_陈寒6 小时前
JavaScript项目实战经验分享
前端·人工智能·后端
用户47949283569157 小时前
6w star,GitHub 趋势第一的 Ponytail,这个agent插件到底在火什么
前端·后端
薛定喵的谔8 小时前
我开源了一个精致的 Next.js 博客模板:Skyplume
前端·前端框架·next.js
张龙6879 小时前
构建生产级 AI Agent:工具调用与记忆架构实战指南
前端
kyriewen9 小时前
2026 年了,还在用 Node.js?Bun 迁移实战:20 分钟搞定,附踩坑记录
前端·javascript·node.js