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

Nuxt 3中SCSS文件`~`符号无法识别的问题如何解决?

解决Nuxt中SCSS @use导入Node模块的路径问题

我已通过在Nuxt配置中添加以下代码,成功配置Nuxt使用名为app.scss的CSS文件:

export default defineNuxtConfig({
  css: ['@/assets/styles/app.scss'],
})

但尝试在app.scss中使用@use语法导入Node模块中的SCSS文件时遇到报错:

[vite-node] [plugin:vite:css] [VITE_ERROR] ./assets/styles/app.scss:1:1

Error: Can't find stylesheet to import.
  ╷
1 │ ┌ @use "~@neolithic-css/toolkit" as neolithic with
2 │ │ (
3 │ │   $mobile-first: false,
4 │ │ );
  │ └─^
  ╵
  assets/styles/app.scss 1:1  root stylesheet

我在app.scss中使用的导入代码如下:

@use "~@neolithic-css/toolkit" as neolithic with (
  $mobile-first: false,
);

问题出在Vite无法识别指向node_modules目录的~符号,可通过以下方式修复:

修复方案

  • 移除~符号直接导入:Vite会自动在node_modules目录下查找对应的包,修改后的代码如下:
@use "@neolithic-css/toolkit" as neolithic with (
  $mobile-first: false,
);
  • 指定包内具体SCSS入口文件:如果包的根目录没有默认导出SCSS文件,可明确指定入口路径(例如包内的src/index.scss):
@use "@neolithic-css/toolkit/src/index.scss" as neolithic with (
  $mobile-first: false,
);
  • 配置Vite的SCSS解析路径(可选):若需要统一配置路径解析规则,可在nuxt.config.ts中添加Vite的预处理器配置,让SCSS解析器包含node_modules目录:
export default defineNuxtConfig({
  css: ['@/assets/styles/app.scss'],
  vite: {
    css: {
      preprocessorOptions: {
        scss: {
          includePaths: ['node_modules'],
        },
      },
    },
  },
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:03:14