Vue3集成sass

安装依赖

pnpm add -D sass-embedded

配置全局变量

  • 新建文件 src/styles/variables.scss
  • 配置Vite 修改 vite.config.ts

variables.scss

$base-color: blue

vite.config.ts

// https://vite.dev/config/
export default defineConfig({plugins: [vue(),],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url)) //相对路径别名配置,@代替src,用于打包时路径转换},},css: {preprocessorOptions: {// 引入公共scss变量scss: {// 引入 varibles.scss 这样就可以在全局中使用 varibles.scss中预定义的变量了// 给导入的路径最后加上 ;// as 后面是定义的环境变量//   如果写as * ,可以直接使用变量名,如:变量名//   如果不写as *, 默认文件名即:variables, 使用variables.变量名//   如果是as vars,则使用vars.变量名additionalData: '@use "@/assets/styles/variables" as *;',},},},
})

引入全局样式

  • 创建文件 src/assets/styles/reset.scsssrc/assets/styles/index.scss
  • 引入全局样式 main.ts

reset.scss

// 重置样式 https://www.npmjs.com/package/reset.css?activeTab=code
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {display: block;
}
body {line-height: 1;
}
ol, ul {list-style: none;
}
blockquote, q {quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {content: '';content: none;
}
table {border-collapse: collapse;border-spacing: 0;
}

index.scss

// 引入重置样式
@use 'reset';

main.ts

...
const app = createApp(App)
...
// 引入全局样式
import '@/assets/styles/index.scss'app.mount('#app')

使用测试

<template><div class="home"><h2>Home</h2>    </div>
</template><script setup lang="ts">
</script><style scoped lang="scss">
.home {h2 {color: $base-color;}
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/902864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【力扣题目分享】栈专题(C++)

目录 关于栈的题目&#xff1a; 1. 最小栈&#xff1a; 思路&#xff1a; 实现代码(最终)&#xff1a; 2. 栈的压入、弹出序列&#xff1a; 思路&#xff1a; 实现代码&#xff1a; 3. 逆波兰表达式求值&#xff1a; 思路&#xff1a; 实现代码&#xff1a; 深入了解…

Office 2019 (含Visio+Project)官方IOS 下载

Microsoft Office 2019 是微软公司推出的一款办公软件套装&#xff0c; 主要包括Word、Excel、PowerPoint、Outlook、Visio、Access、Publisher、OneDrive for Business 和Skype for Business等组件。 这些组件适用于Windows和MacOS平台&#xff0c;支持多种语言&#xff0c…

遥测终端机,推动灌区流量监测向数据驱动跃迁

灌区范围那么大&#xff0c;每一滴水怎么流都关系到粮食够不够吃&#xff0c;还有生态能不能平衡。过去靠人工巡查、测量&#xff0c;就像拿着算盘想算明白大数据&#xff0c;根本满足不了现在水利管理的高要求。遥测终端机一出现&#xff0c;就像给灌区流量监测安上了智能感知…

P4017 最大食物链计数-拓扑排序

P4017 最大食物链计数 题目来源-洛谷 题意 要求最长食物链的数量。按照题意&#xff0c;最长食物链就是指有向无环图DAG中入度为&#xff10;到出度为&#xff10;的不同路径的数量&#xff08;链数&#xff09; 思路 在计算时&#xff0c;明显&#xff1a;一个被捕食者所…

Xmind快捷键大全

常规 插入主题和元素&#xff08;常用&#xff09; 编辑主题文本和样式 选择和移动 调整画布和视图 工具和其他

四. 以Annoy算法建树的方式聚类清洗图像数据集,一次建树,无限次聚类搜索,提升聚类搜索效率。(附完整代码)

文章内容结构&#xff1a; 一. 先介绍什么是Annoy算法。 二. 用Annoy算法建树的完整代码。 三. 用Annoy建树后的树特征匹配聚类归类图像。 一. 先介绍什么是Annoy算法 下面的文章链接将Annoy算法讲解的很详细&#xff0c;这里就不再做过多原理的分析了&#xff0c;想详细了解…

什么是电容?

什么是电容&#xff1f; 电荷与电压的比值就是电容量C。电容单位为法拉(F)。1法拉电容器在电压为1V时储存的电荷量为1库伦(C)。图1.1中的球体表面电压与储存的电荷Q关联。电压V等于。Q/V等于。如果球体位于电介质媒介中&#xff0c;电压V降低倍&#xff0c;Q/V等于。在电介质媒…

Linux服务器上mysql8.0+数据库优化

1.配置文件路径 /etc/my.cnf # CentOS/RHEL /etc/mysql/my.cnf # Debian/Ubuntu /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu/Debian检查当前配置文件 sudo grep -v "^#" /etc/mysql/mysql.conf.d/mysqld.cnf | grep -v "^$&q…

MQTT学习资源

MQTT入门&#xff1a;强烈推荐

第十二章 Python语言-大数据分析PySpark(终)

目录 一. PySpark前言介绍 二.基础准备 三.数据输入 四.数据计算 1.数据计算-map方法 2.数据计算-flatMap算子 3.数据计算-reduceByKey方法 4.数据计算-filter方法 5.数据计算-distinct方法 6.数据计算-sortBy方法 五.数据输出 1.输出Python对象 &#xff08;1&am…

【XR手柄交互】Unity 中使用 InputActions 实现手柄控制详解(基于 OpenXR + Unity新输入系统(Input Actions))

摘要&#xff1a; 本文主要介绍如何使用 Input Actions&#xff08;Unity 新输入系统&#xff09; OpenXR 来实现 VR手柄控制&#xff08;监听ABXY按钮、摇杆、抓握等操作&#xff09;。 &#x1f3ae; Unity 中使用 InputActions 实现手柄控制详解&#xff08;基于 OpenXR 新…

java实现网格交易回测

以下是一个基于Java实现的简单网格交易回测程序框架&#xff0c;以证券ETF&#xff08;512880&#xff09;为例。代码包含历史数据加载、网格策略逻辑和基础统计指标&#xff1a; import java.io.BufferedReader; import java.io.FileReader; import java.text.ParseException…

探秘 3D 展厅之卓越优势,解锁沉浸式体验新境界

&#xff08;一&#xff09;打破时空枷锁&#xff0c;全球触达​ 3D 展厅的首要优势便是打破了时空限制。在传统展厅中&#xff0c;观众需要亲临现场&#xff0c;且必须在展厅开放的特定时间内参观。而 3D 展厅依托互联网&#xff0c;让观众无论身处世界哪个角落&#xff0c;只…

第十二届蓝桥杯 2021 C/C++组 直线

目录 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 思路&#xff1a; 核心思路&#xff1a; 两点确定一条直线&#xff1a; 思路详解&#xff1a; 代码&#xff1a; 第一种方式代码详解&#xff1a; 第二种方式代码详解&#xff1a; 题目&#xff1a;…

微信小程序蓝牙连接打印机打印单据完整Demo【蓝牙小票打印】

文章目录 一、准备工作1. 硬件准备2. 开发环境 二、小程序配置1. 修改app.json 三、完整代码实现1. pages/index/index.wxml2. pages/index/index.wxss3. pages/index/index.js 四、ESC/POS指令说明五、测试流程六、常见问题解决七、进一步优化建议 下面我将提供一个完整的微信…

ubuntu opencv 安装

1.ubuntu opencv 安装 在Ubuntu系统中安装OpenCV&#xff0c;可以通过多种方式进行&#xff0c;以下是一种常用的安装方法&#xff0c;包括从源代码编译安装。请注意&#xff0c;安装步骤可能会因OpenCV的版本和Ubuntu系统的具体版本而略有不同。 一、安装准备 更新系统&…

【C++】class静态常量

Usage: static const T 1 background static const成员属于类&#xff0c;而不是类的实例&#xff0c;所以它们的初始化需要在类外进行(或者在C17之后可以用inline初始化)。 使用中可能遇到的情况&#xff1a; 在头文件中声明一个static const成员&#xff0c;然后在多个cpp…

Java 安全:如何防止 DDoS 攻击?

一、DDoS 攻击简介 DDoS&#xff08;分布式拒绝服务&#xff09;攻击是一种常见的网络攻击手段&#xff0c;攻击者通过控制大量的僵尸主机向目标服务器发送海量请求&#xff0c;致使服务器资源耗尽&#xff0c;无法正常响应合法用户请求。在 Java 应用开发中&#xff0c;了解 …

统计文件中单词出现的次数并累计

# 统计单词出现次数 fileopen("E:\Dasktape/python_test.txt","r",encoding"UTF-8") f1file.read() # 读取文件 countf1.count("is") # 统计文件中is 单词出现的次数 print(f"此文件中单词is出现了{count}次")# 2.判断单词出…

C语言实现贪心算法

一、贪心算法核心思想 特征&#xff1a;在每一步选择中都采取当前状态下最优&#xff08;局部最优&#xff09;的选择&#xff0c;从而希望导致全局最优解 适用场景&#xff1a;需要满足贪心选择性质和最优子结构性质 二、经典贪心算法示例 1. 活动选择问题 目标&#xff1a…