Vue3 组件中使用 SCSS 变量

news/2024/12/21 21:41:06/

在 JavaScript 中不能直接使用 SCSS 变量。但是可以通过一些间接的方法来实现类似的效果。

一、使用 sass-extract

使用 sass-extract 库来提取 SCSS 变量并生成 JSON 文件,然后在 JavaScript 中读取这个 JSON 文件来获取变量值。

1. 安装 sass-extract

npm install sass-extract --save-dev

2. 在项目的根目录创建一个 extract-vars.js 文件

这个脚本会读取`./src/styles/main.scss`文件中的 SCSS 变量,并将它们输出到`./src/variables.json`文件中。

const sassExtract = require("sass-extract");const extractor = sassExtract();extractor.loadFile("./src/styles/main.scss");const variables = extractor.vars();const fs = require("fs");fs.writeFileSync("./src/variables.json", JSON.stringify(variables, null, 2));

3. 在你的 JavaScript 文件中引入生成的 JSON 文件

const variables = require("./variables.json");console.log(variables["$primary-color"]); // 假设在 SCSS 中有一个 $primary-color 变量

这种方法需要在构建过程中运行`extract-vars.js`脚本,以确保变量 JSON 文件是最新的。

二、使用 xxx.module.scss

定义 xxx.module.scss 文件, 使用 :export { // ... } 导出 scss 变量给 Vue3

1. 定义 theme.module.scss

$color--active: #4f7eff;:export {color--active: $color--active;}

2. 使用

import themeScss from "@/assets/scss/theme.module.scss";console.log(themeScss);


http://www.ppmy.cn/news/1533837.html

相关文章

宠物饮水机的水箱低液位提醒如何实现?

ICMAN液位检测芯片轻松实现宠物饮水机的水箱低液位提醒功能! 工作原理 : 基于双通道电容式单点液位检测原理 方案特点: 液位检测精度高达1mm,超强抗干扰,动态CS 10V 为家用电器水位提醒的应用提供了一种简单而又有…

谷粒商城のOAuth2.0单点登录

文章目录 前言一、账号密码登录1、整合短信验证2、验证码校验&防止重复获取验证 二、社交登录1、第三方平台设置2、代码整合3、整体效果演示4、补充:其他模式 三、Session共享问题1、引入Spring Session2、配置Spring Session 四、单点登录 前言 本篇主要介绍谷…

5个python多线程简单示例

示例 1: 基本线程创建 # 示例 1: 基本线程创建 import threading import timedef print_numbers():for i in range(5):time.sleep(1)print(i)# 创建线程 thread threading.Thread(targetprint_numbers)# 启动线程 thread.start()# 等待线程完成(可选) …

AT89s51单片机和STC单片机烧录不同引脚问题

首先确定一下,两种烧录接口引脚不同 STC烧录器主要使用串口引脚 实际上stm32中也可以使用这种UART通信方式烧录程序,只是需要确定连接引脚进入bootloader模式 AT89S51来源Atmel公司,其中AVR单片机也是这个公司 ISP和SPI不是一个概念&…

c语言基础作业

选择题 1.1、以下选项中,不能作为合法常量的是 __________ A)1.234e04 B)1.234e0.4C)1.234e4 D)1.234e0 1.2、以下定义变量并初始化错误的是_____________。 A) char c1 ‘H’ ; B) char c1 9…

OpenCV视频I/O(3)视频采集类VideoCapture之获取当前使用的视频捕获 API 后端的名称函数getBackendName()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 getBackendName 函数是 OpenCV 中 VideoCapture 类的一个方法,用于获取当前使用的视频捕获 API 后端的名称。这可以帮助开发者了解当…

CMOS工艺-STI(浅沟槽隔离)

知识星球里的学员问:能介绍STI工艺吗?相比于LOCOS,STI工艺有哪些有点? 什么是STI工艺? 如上图,STI(Shallow Trench Isolation)浅沟槽隔离,先在硅片上刻蚀浅沟槽&#xf…

戴尔电脑怎么开启vt虚拟化_戴尔电脑新旧机型开启vt虚拟化教程

最近使用戴尔电脑的小伙伴们问我,戴尔电脑怎么开启vt虚拟。大多数可以在Bios中开启vt虚拟化技术,当CPU支持VT-x虚拟化技术,有些电脑会自动开启VT-x虚拟化技术功能。而大部分的电脑则需要在Bios Setup界面中,手动进行设置&#xff…