vite构建的react+ts项目中使用less

下载less依赖

npm install less

组件很多之间可能有类名相同,导致样式冲突,因此制定导出规则,给类名加上hash值。在vite.config.ts配置中添加以下规则。

复制代码
css: {
    modules: {
      hashPrefix: 'prefix',
      generateScopedName: '[name]__[local]__[hash:base64:5]',
    },
    preprocessorOptions: {
      less: {
        javascriptEnabled: true,
      },
    },
  },
复制代码

modules中hashPrefix设置生成CSS类名的哈希前缀(没生效),generateScopedName设置生成CSS类名的格式。preprocessorOptions中less中的javascriptEnabled表示在Less中启用JavaScript表达式,默认不启用。

创建less文件时需要注意文件名,需要以.module.less结尾,组件中引用代码如下。

import styles from './index.module.less'
<div className={styles.isDiv}>I am a div</div>

文件名需要.module.less结尾的原因:我们可以在vite依赖包下面的client.d.ts文件中看到以.module.less结尾的文件会定义导出类型CSSModuleClasses,不然我们导入的less样式无法使用styles.类名给标签加样式。

posted @   数星观月  阅读(556)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示