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

Nuxt2构建后CSS类名被修改致样式失效,如何禁用该行为?

解决Nuxt2中CSS类名被哈希导致样式失效的问题

核心原因

你的问题确实是CSS Modules被自动启用导致的——Nuxt2在部分场景下会默认对CSS文件启用模块化处理,将类名转为哈希ID,但HTML中的类名未同步转换,最终导致样式失效。

解决方案

1. 禁用全局CSS文件的模块化处理

修改nuxt.config.js的build.extend方法,针对全局Less/CSS文件调整css-loader配置,关闭CSS Modules:

build: {
  extend(config, ctx) {
    // 保留原有ESLint配置
    if (ctx.isDev && ctx.isClient) {
      config.module.rules.push({
        enforce: 'pre',
        test: /\.(js|vue|ts)$/,
        loader: 'eslint-loader',
        exclude: /(node_modules)/
      })
    }

    // 遍历规则,找到处理CSS/Less的loader并禁用Modules
    config.module.rules.forEach(rule => {
      if (rule.test.toString().includes('less') || rule.test.toString().includes('css')) {
        rule.use.forEach(loader => {
          if (loader.loader === 'css-loader') {
            loader.options.modules = false
          }
        })
      }
    })
  }
}

2. 确保Vue组件内

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:30:29