vue3 使用sass变量

1. 在<style>中使用scss定义的变量和css变量

1. 在@/style/variables.scss文件中定义scss变量

css 复制代码
 // scss变量
$menuText: #bfcbd9;
$menuActiveText: #409eff;
$menuBg: #304156;
// css变量
:root {
  --el-menu-active-color: $menuActiveText; // 活动菜单项的文本颜色
  --el-menu-background-color: $menuBg; // 菜单的背景颜色
  --el-menu-text-color: $menuText; // 菜单的文字颜色
}

2. 在vite.config.ts中引入

  • 以前使用的@import已经被废弃了
javascript 复制代码
  /*引入index.scss文件中的变量*/
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `@use "@/style/variables.scss" as *;`,
      },
    },
  },

3.使用

  • 暂时发现只能在style中使用,更多使用方法等待慢慢发现
css 复制代码
<style scoped lang="scss">
 .sidebar {
    width: 200px;
    height: 100vh;
    background-color: $menuBg;	
  }
.el-menu-vertical-demo {
  --el-menu-bg-color: var(--el-menu-bg-color);
  --el-menu-active-color: var(--el-menu-active-color);
  --el-menu-text-color: var(--el-menu-text-color);
}
</style>

2. 在标签和<script>中使用scss定义的变量

1. 在@/style/variables.module.scss文件中导出常量

javascript 复制代码
$red: red;
:export {
  fontColor: $red;
}

2. 在vue组件中引入

  • 可以在组件中传递了
javascript 复制代码
<script setup lang="ts">
import fc from '@/style/variables.module.scss'
console.log(fc)
</script>

控制台打印结果:

3. 在标签中使用

html 复制代码
<div :style="{ color: fc.fontColor }">scss变量</div>
相关推荐
代码搬运媛4 小时前
Jest 测试框架详解与实现指南
前端
counterxing5 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq5 小时前
windows下nginx的安装
linux·服务器·前端
之歆5 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜5 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai108086 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
kyriewen7 小时前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor
humcomm8 小时前
元框架的工作原理详解
前端·前端框架
canonical_entropy8 小时前
Attractor Before Harness: AI 大规模开发的方法论
前端·aigc·ai编程
zhangxingchao8 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端