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

如何在Vitest中获取样式?测试时获取样式返回空对象问题

解决Vitest中CSS模块导入为空对象的问题

问题核心是Vitest默认未配置CSS模块解析能力,导致导入的样式文件无法正确导出类名对象,仅返回空的默认导出。

解决步骤:

  1. 安装依赖
npm install -D @vitest/web-plugin css-loader sass-loader sass
  1. 配置Vitest(vitest.config.js)
import { defineConfig } from 'vitest/config'
import web from '@vitest/web-plugin'

export default defineConfig({
  plugins: [web()],
  test: {
    environment: 'jsdom',
    css: {
      modules: {
        auto: /\_styles\.\w+$/i,
        localIdentName: '[local]--[hash:base64:5]',
        classNameStrategy: 'non-scoped',
      },
      preprocessorOptions: {
        scss: {}
      }
    }
  }
})
  1. 调整导入方式(可选)
    可以尝试默认导入替代命名空间导入,适配部分配置场景:
import styles from '_styles.scss'

配置完成后,Vitest会按照你Webpack中的规则解析CSS模块,console.log(styles)就能输出包含类名的对象了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 00:15:58