目录

一、安装SCSS

 二、使用SCSS

三、配置SCSS全局共享变量

1.配置全局

2.不配置全局,单独引入

一、安装SCSS

在创建好Vue项目后,在项目路径中打开命令行输入以下命令:

npm i sass sass-loader --save-dev

 二、使用SCSS

安装完成后便可以在项目中使用SCSS,需要在style标签中设置lang属性为scss如:

<style scoped lang="scss">

三、配置SCSS全局共享变量

1.配置全局

scss中我们可以自定义变量,一些变量往往是全局共享的,为了方便我们可以在vite.config.jsdefineConfig里面添加配置如下:

(需要自己新建一个存放共享的变量的文件如:mixin.scss)

  css: {
    // css预处理器
    preprocessorOptions: {
      scss: {
        // 引入 mixin.scss 这样就可以在全局中使用 mixin.scss中预定义的变量了
        // 给导入的路径最后加上 ; 
        additionalData: '@import "@/assets/style/mixin.scss";'
      }
    }
  }

完整代码(不清楚的小伙伴可以对照以下代码放置):

import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },

//需要放置的代码在这里********************
  css: {
    // css预处理器
    preprocessorOptions: {
      scss: {
        // 引入 mixin.scss 这样就可以在全局中使用 mixin.scss中预定义的变量了
        // 给导入的路径最后加上 ; 
        additionalData: '@import "@/assets/style/mixin.scss";'
      }
    }
  }
})

其中 

 @import "@/assets/style/mixin.scss"; 

为自己定义的scss全局变量文件的所在位置,一般我们将他放置在如上的位置,建好文件后我们使用  '$'  来定义变量(这里定义了一个颜色变量):

$color-main: rgb(70, 227, 238)

然后在项目需要的地方就可以使用:

li {
  color: $color-main;
}

2.不配置全局,单独引入

如果不配置则需要单独引入变量所在文件,使用@import

<style scoped lang="scss">
@import '../../assets/style/mixin.scss'

</style>

GitHub 加速计划 / vu / vue
108
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐