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

Nuxt项目报SassError: Undefined variable错误解决方案求助

问题排查与解决方案

1. 修复依赖冲突

你当前项目同时安装了已废弃的node-sass和官方推荐的sass(dart-sass)两个编译依赖,二者功能互斥会导致编译异常,先卸载node-sass:

npm uninstall node-sass
# 用yarn的话执行 yarn remove node-sass

保留sass和对应兼容版本的sass-loader即可,你当前的sass@1.43.4和sass-loader@8.0.2版本组合是兼容的,不需要再换版本。

2. 补全styleResources依赖与注册

要让styleResources配置生效,必须先安装对应模块并在Nuxt配置中注册:

  • 安装开发依赖:
npm i @nuxtjs/style-resources -D
# 用yarn的话执行 yarn add @nuxtjs/style-resources -D
  • 在nuxt.config.js中添加模块注册配置:
export default {
  // 其他原有配置...
  modules: [
    '@nuxtjs/style-resources'
  ],
  css: [
    '~assets/scss/main.scss'
  ],
  styleResources: {
    // 路径替换为别名写法更稳妥
    scss: ['~/assets/scss/variables.scss']
  },
}

3. 删除冗余的sass编译规则

Nuxt默认已经内置了sass/scss文件的编译处理逻辑,你手动在build.rules中添加的sass处理规则会覆盖默认逻辑,导致全局变量注入失效,直接删除build配置中如下冗余代码即可:

rules: [
  {
    test: /\.s[ac]ss$/i,
    use: ['style-loader', 'css-loader', 'sass-loader']
  }
],

4. 检查导入文件完整性

确认variables.scss中导入的_colors_variables.scss、_fonts.scss、_shadows.scss文件都真实存在,文件名拼写、下划线前缀没有错误,单文件导入失败会导致整个变量文件加载异常。

5. 清缓存重启项目

所有配置修改完成后,删除项目根目录下的.nuxt缓存文件夹,再重新执行启动命令npm run dev即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:24:02