You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nuxt3中仅引入一次SCSS Mixins而非每个文件重复引入?

Nuxt3中SCSS混合宏全局引入失效问题

文件结构

assets
  scss
    _mixins.scss
    _class-one.scss
    _class-two.scss
    _class-three.scss
    main.scss

当前main.scss内容

@use "class-one.scss";
@use "class-two.scss";
@use "class-three.scss";

当前有效用法

在每个class-*.scss文件中单独引入mixins,就能正常调用混合宏:

@use 'mixins';

.class-one {
  @include mixins.the-mixin;
}

需求与问题

希望仅在main.scss中引入一次mixins,让所有子文件共享,但这样会触发报错:

Error: 找不到命名空间为"mixins"的模块。

尝试过的全局注入方案(无效)

通过Nuxt3的Vite配置尝试全局注入mixins,配置代码如下:

export default defineNuxtConfig({
  vite: {
    css: {
      preprocessorOptions: {
        scss: {
          additionalData: '@use "@/assets/scss/_mixins.scss" as mixins;'
        }
      }
    }
  }
})

添加该配置后,依然出现相同的错误:找不到命名空间为"mixins"的模块。

特殊冲突场景

如果同时保留上述Vite配置,并且在class-*.scss文件中继续使用@use 'mixins',会触发新的报错:

ERROR [sass] 已存在命名空间为"mixins"的模块。


内容的提问来源于stack exchange,提问作者Saro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 15:10:14