2025新版scss使用注意事项与全局变量设置教程

我设置了一个reset.scss来对项目里的插件和内容进行重置

我在index中希望导入这个文件

使用@import来导入对应文件,同时在vite.config.ts中添加variable.scss来作为全局变量使用(名字任意起名即可)

旧版配置成功,但是控制台scss在所有使用@import处报弃用警告

新版的正确导入方式如下:

vite.config.ts文件内容如下:

        填入你自己scss文件的地址即可,改为使用新版的@use

css: {
  // css预处理器
  preprocessorOptions: {
      scss: {
          charset: false,
          additionalData: '@use "./styles/variable.scss" as *;',
      },
  },
}

我在index.scss中想要引入我的reset.scss则修改为

@use './reset.scss' as *

varible.scss则可以正常使用全局变量了

在 Sass 中,@use 规则用于加载另一个样式表,并将其内容作为模块导入。

与 @import 不同,@use 规则会创建一个命名空间,以避免变量、函数和混合宏的命名冲突。

as * 的作用是将导入的模块内容直接暴露在当前样式表的命名空间中,这样你就可以像使用 @import 一样直接使用导入的变量、函数和混合宏。

例如,假设 reset.scss 文件中有以下内容:

$reset-color: #fff;

@mixin reset-mixin {
  margin: 0;
  padding: 0;
}

在 index.scss 文件中使用 @use './reset.scss' as *; 后,你可以直接使用 $reset-color 变量和 reset-mixin 混合宏,而不需要通过命名空间引用它们:

@use './reset.scss' as *;

body {
  background-color: $reset-color;
  @include reset-mixin;
}

如果不使用 as *,你需要通过命名空间来引用导入的内容。例如:

@use './reset.scss';

body {
  background-color: reset.$reset-color;
  @include reset.reset-mixin;
}

使用 as * 可以简化代码,使其更接近于 @import 的使用方式,同时仍然享受 @use 带来的模块化和避免命名冲突的好处,且较为常用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘿rasa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值