Vue3集成sass的详细过程

 更新时间:2025年04月24日 09:21:00   作者:码农张3  
这篇文章主要介绍了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>

到此这篇关于Vue3集成sass的文章就介绍到这了,更多相关Vue集成sass内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue3文件下载方法实现的简单代码

    Vue3文件下载方法实现的简单代码

    在Web开发中,文件下载可通过多种方式实现,下面这篇文章主要介绍了Vue3文件下载方法实现的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • vue定时器清除不掉,导致功能频繁执行问题

    vue定时器清除不掉,导致功能频繁执行问题

    这篇文章主要介绍了vue定时器清除不掉,导致功能频繁执行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue 单元测试的推荐插件和使用示例

    vue 单元测试的推荐插件和使用示例

    单元测试是软件开发非常基础的一部分。单元测试会封闭执行最小化单元的代码,使得添加新功能和追踪问题更容易。Vue 的单文件组件使得为组件撰写隔离的单元测试这件事更加直接。它会让你更有信心地开发新特性而不破坏现有的实现,并帮助其他开发者理解你的组件的作用。
    2021-06-06
  • vue中elementUI里面一些插件的使用

    vue中elementUI里面一些插件的使用

    Element UI是一套基于Vue的桌面端组件库,封装好了很多常用的UI组件,下面这篇文章主要给大家介绍了关于vue中elementUI里面一些插件的使用方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 关于vue src路径动态拼接的小知识

    关于vue src路径动态拼接的小知识

    这篇文章主要介绍了vue src路径动态拼接的小知识,具有很好的参考价值,希望对大家有所帮助。
    2022-04-04
  • Vue 收集表单数据方法详情

    Vue 收集表单数据方法详情

    这篇文章主要介绍了Vue 收集表单数据方法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • vue项目配置代理如何解决跨域问题

    vue项目配置代理如何解决跨域问题

    这篇文章主要介绍了vue项目配置代理如何解决跨域问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • vue中$event使用之获取当前元素及相关元素

    vue中$event使用之获取当前元素及相关元素

    这篇文章主要介绍了vue中$event使用之获取当前元素及相关元素,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Vue使用axios进行get请求拼接参数的2种方式详解

    Vue使用axios进行get请求拼接参数的2种方式详解

    axios中post请求都是要求携带参数进行请求,这篇文章主要给大家介绍了关于Vue使用axios进行get请求拼接参数的2种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • vue3中覆盖组件样式的方法小结

    vue3中覆盖组件样式的方法小结

    在 Vue 3 中,覆盖组件样式的方法与 Vue 2 相似,但由于 Vue 3 更多地依赖于 CSS 的模块化,一些最佳实践可能会有所不同,下面就跟随小编一起来了解一下吧
    2024-04-04

最新评论