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.类名给标签加样式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)