Vue3 组件中使用 SCSS 变量

news/2024/10/2 7:06:40 标签: 开发语言, 前端

在 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.niftyadmin.cn/n/5688127.html

相关文章

植物叶片病害检测数据集 5100张 29类 带标注 voc yolo

植物叶片病害检测数据集 5100张 29类 带标注 voc yolo 植物叶片病害检测数据集 名称 植物叶片病害检测数据集 (Plant Leaf Disease Detection Dataset) 规模 图像数量:5154张图像。类别:29种病害类型。分类名: (图片张数,标注个数) Tomato…

在WPF中实现多语言切换的四种方式

在WPF中有多种方式可以实现多语言,这里提供几种常用的方式。 一、使用XML实现多语言切换 使用XML实现多语言的思路就是使用XML作为绑定的数据源。主要用到XmlDataProvider类. 使用XmlDataProvider.Source属性指定XML文件的路径或通过XmlDataProvider.Document指定…

Pytorch基本知识

model.state_dict()、model.parameters()和model.named_parameters()的区别 parameters()只包含模块的参数,即weight和bias(包括BN的)。 named_parameters()返回包含模块名和模块的参数的列表,列表的每个元素均是包含layer name和layer param的元组。layer param就是param…

Python | Leetcode Python题解之第451题根据字符出现频率排序

题目: 题解: class Solution:def frequencySort(self, s: str) -> str:count {}for c in s:count[c] count.get(c, 0) 1items [(-val, key) for key, val in count.items()]heapq.heapify(items)res ""while items:val, key heapq.h…

开放式耳机是什么意思?哪个品牌好?开放式蓝牙耳机测评分享

开放式耳机是目前比较流行的一种蓝牙耳机类型,它凭借佩戴舒适、安全性高、透气性好以及健康卫生等等特点成为了很多人的耳机选择。但其实并没有太多人了解开放式耳机,不知道什么是开放式耳机、开放式耳机是否比封闭式耳机强、什么样的人适合开放式耳机以…

分页查询前后端代码

一、前端 在table表格下&#xff0c;写样式 <div style"margin: 10px 0"><el-paginationcurrent-change"handleCurrentChange":current-page"pageNum":page-sizes"[100, 200, 300, 400]":page-size"pageSize"layo…

Street View Synthesis with Gaussian Splatting and Diffusion Prior 学习笔记

使用高斯散点和扩散先验进行街景合成 街景中的驾驶模拟在自动驾驶系统的发展中具有至关重要的作用。通过构建城市街道的数字孪生体&#xff0c;我们可以持续使用模拟数据增强自动驾驶系统&#xff0c;从而显著减少对真实场景中数据收集的依赖&#xff0c;使得构建一个强大的自动…

ISP Pipeline

系列文章目录 文章目录 系列文章目录前言一、RAW域二、RGB域三、YUV域总结 前言 一、RAW域 黑电平校正&#xff08;BLC&#xff09;数字增益调整&#xff08;DGain&#xff09;自动白平衡&#xff08;AWB&#xff09;局部色调映射&#xff08;LTM&#xff09;坏点修复&#xf…