当前位置: 首页 > web >正文

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.xdnf.cn/news/1132.html

相关文章:

  • Unity 跳转资源商店,并打开特定应用
  • 滑动窗口学习
  • 【HTTPS协议原理】数据加密、如何防止中间人攻击、证书和签名、HTTPS完整工作流程
  • UnityDots学习(四)
  • 关于RPC
  • 图数据库nebula测试指南
  • 在 NVIDIA Orin (JetPack 6.0) 上安装 PyTorch 2.4 + Torchvision 0.19
  • 每日算法-250422
  • 几种Word转换PDF的常用方法
  • 如何在idea里创建注释模版
  • 真我推出首款 AI 翻译耳机,支持 32 种语言翻译
  • 拥抱健康生活,开启养生之旅
  • Android Jetpack Compose基础实践
  • iscsi服务端安装及配置
  • 【Python爬虫基础篇】--3.cookie和session
  • Office文档图片批量提取工具
  • 异构网络环境下的切换策略研究
  • 边缘计算全透视:架构、应用与未来图景
  • 基于Java+MySQL实现(Web)企业仓库存储管理系统
  • 金融数据分析(Python)个人学习笔记(12):网络爬虫
  • 【产品经理从0到1】用户研究和需求分析
  • 从项目真实场景中理解二分算法的细节(附图解和模板)
  • nodejs使用require导入npm包,开发依赖和生产依赖 ,全局安装
  • 【HTML】【Web开发】滑动条挑战
  • 使用 Spring Boot Admin 通过图形界面查看应用配置信息的完整配置详解,包含代码示例和注释,最后以表格总结关键配置
  • Embedding与向量数据库__0422
  • 实验一-密码学数学基础
  • ​SYSTEM WAKE-UP(系统唤醒)​和外部中断唤醒(EXTI唤醒)
  • 建筑末端配电回路用电安全解决方案
  • 【数据结构 · 初阶】- 堆的实现