scss全局变量配置

scss全局变量配置

今天想在项目中,使用一个全局生效的自定义scss变量。$horizontal-min-width: 1303px;

看看整个项目的scss引入,创建了一个main.scss文件,然后在main.js中导入了

import './assets/main.scss'

main.scss内容:

  • 清除浏览器默认样式
  • 添加一些全局样式
  • 自定义一些样式,可在后文直接通过添加类名使用
失败

想直接在此定义变量,$horizontal-min-width: 1303px;

报错:[plugin:vite:css] [sass] Undefined variable.

然后我又尝试去App.vue中引入

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

还是报错

初步成功

直接引入该文件到app.vue或者main.js是不生效的,我们需要将其引入到每一个组件的scss中去,手动引入也可以实现。

【每次使用都需要引入,太麻烦,想一处定义,一处引入,多处使用】

最终方案

这里我们采用vue相关的配置自动引入。

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
export default () => {
    return defineConfig({
        plugins: [
          vue(),
        ],
        css: {
            preprocessorOptions: {
              scss: {
                additionalData: '@import "./src/var.scss";' // 加载全局样式,使用scss特性
              }
            },
        }
    })
}

亲测可行

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值