bug记录之vuecli5自定义cssmodules哈希类名

项目场景:

场景:用vue3+tsx开发的项目,直接每个页面引入单独的样式文件会造成全局样式污染,所以需要开启cssmodule,vuecli默认配置是只有哈希值,不显示类名,debug的时候找页面会很不好找,网上也没有相关文章说如何解决这个问题,所以分享下我是如何解决这个问题的


问题描述

根据文档中的来配置会报错,官方文档配置代码如下

        loaderOptions: {
            css: {
                // 注意:以下配置在 Vue CLI v4 与 v3 之间存在差异。
                // Vue CLI v3 用户可参考 css-loader v1 文档
                // https://github.com/webpack-contrib/css-loader/tree/v1.0.1
                modules: {
                    localIdentName: '[name]-[hash]'
                },
                localsConvention: 'camelCaseOnly'
            }
        }

会报如下错误
在这里插入图片描述


原因分析:

vuecli5是基于webpack5的,翻了文档,这个属性在webpack5中不是这么配置的。


解决方案:

删除掉这个localsConvention报错选项,这时候启动项目会发现,之前写的vue文件中的样式以及element库的样式全部没了,这时候在配置项里加个auto自动匹配就行。最终配置代码如下

   loaderOptions: {
            css: {
                modules: {
                    auto: true,//自动匹配符合modules规则的样式文件
                    localIdentName: "[path][name]__[local]--[hash:base64:5]",
                },
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值