关于Vite配置preprocessorOptions.scss.additionalData全局引入scss文件无效问题

正确配置

//覆盖css配置
  css: {
    // CSS 预处理器
    preprocessorOptions: {
      // 定义全局 SCSS 变量
      scss: {
        // javascriptEnabled: true,
        additionalData: `
          @use "@/styles/variables.scss" as *;
        `
        // additionalData: '@import "@/styles/variables.scss";',
      }
    }
  },

问题描述 是不是觉得自己配置没问题 倒停了很久 @use “@/styles/variables.scss” as *; 最后的分号也加 哈哈看了网上好多说的 还是没解决我就纳闷了 。。。。

解决:

解决方式一:
发现配置确实没问题
github查找 才发
在这里插入图片描述
原来这不是一个bug,只有在main.js引入一个其他scss文件或者在.vue文件中使用<style lang="scss"><style>,并且里面有内容,则 scss.additionalData 配置的全局scss文件就可以正确引入了,还建议我们在 scss.additionalData 引入的文件最好只写scss变量,别写css变量,因为css变量是运行时属性。
故此
你只需要创建 一个其他scss 文件 在main 引入后,variables.scss全局声明的就生效了

解决方式二:
归根到底都是为了生成这种 才能var(–xxx)

在这里插入图片描述
所以啊
你直接不用Vite配置preprocessorOptions.scss.additionalData了
直接写一个css 文件,main 导入立马生效好吧 就可以var(–xxx)了

:root{
  --cx-font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
  --cx-font-size:14px;
  --cx-theme-color:'#4e6ef2'
} 
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值