Vite当中的scss配置踩坑

1. 场景

今天想要给vite项目,添加全局的scss变量文件引用,这样我们在使用scss变量和函数的时候就不需要每个组件都取引用了

2. 官方代码

export default defineConfig({
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `$injectedColor: orange;`
      }
    }
  }
})

3. 问题

在如上面代码所示进行配置的时候,在vite进行构建的时候,报了个错误,提示我element-plusscss文件中的@use语法放在所有引用的前面,

// vite.config.ts
scss: {
     additionalData: `@import "@/style/share.scss";`
}

上面是我的配置

4. 原因

后来发现在main.ts中,引用了element-plus的scss样式,element-plus/theme-chunk/src/base.scss,(因为按需引入,所以采用这种方式进行导入)

由于我们配置在vite.config.ts中的scss选项应该是会先于我们main.ts进行加载的,所以就报了上面的错误,

5. 解决

我将element-plus的样式采用官方全局引入的形式,放在了main.ts当中,这样就解决了报错问题,也能够正常使用share.scss中的变量和函数,当然我们导入了全部组件的样式,包的体积就变大了,所以两者我们可以视项目的实际情况,看是需要按需加载还是需要节省导入文件的scss公共文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值