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

Nuxt3配置style-resources报resolver.resolveModule is not a function问题问询

报错原因

你当前使用的@nuxtjs/style-resources@1.2.1仅适配Nuxt 2,未兼容Nuxt 3的底层API,所以启动时会抛出resolver.resolveModule is not a function的错误,目前该模块尚未发布适配Nuxt 3的稳定版本,无需继续调试原有配置。

可行解决方案

Nuxt 3默认基于Vite构建,直接通过Vite的预处理器配置即可实现全局样式资源注入,无需额外安装第三方模块:

步骤1:卸载无效依赖

npm uninstall @nuxtjs/style-resources
# 或用yarn
yarn remove @nuxtjs/style-resources
# 或用pnpm
pnpm remove @nuxtjs/style-resources

步骤2:修改nuxt.config.js配置

删除原有buildModules和styleResources配置项,新增Vite预处理器配置即可:

export default defineNuxtConfig({
  css: ['~/assets/main.scss'],
  // 新增Vite配置
  vite: {
    css: {
      preprocessorOptions: {
        scss: {
          // 全局注入变量文件,多个文件可多写几行@use语句
          additionalData: '@use "~/assets/variables.scss" as *;'
          // 若你习惯使用旧版@import语法,可替换为:
          // additionalData: '@import "~/assets/variables.scss";'
        }
      }
    }
  }
})

特殊情况:使用Webpack构建的配置

如果你手动切换了Nuxt 3的构建工具为Webpack,用以下配置代替即可:

export default defineNuxtConfig({
  css: ['~/assets/main.scss'],
  build: {
    webpack: {
      loaders: {
        scss: {
          additionalData: '@use "~/assets/variables.scss" as *;'
        }
      }
    }
  }
})

配置完成后重启项目,所有组件内无需单独导入即可直接使用variables.scss中定义的变量、mixin等样式资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:24:04