react dva框架 使用less 和css modules

项目中需要一键换肤效果。刚开始项目是直接只用css  然后使用css modules  这样子的。

然后需要实现这一个效果的话必须使用less  。

在将所有css替换成less 之后  突然发现 部分语法有问题

1.calc 的计算   原来 是这样的  calc(100% - 10rem)     会被编译成 calc (100% - 10%) 

需要改成 calc(~'100% - 10rem')  这样有才效

2.背景图的使用会有问题

 只使用less 的情况下 是 绝对路径   没毛病 但是 在less 与css modules 共存的情况下  取不到图片

  第一种方法 :使用    background: url(../livePlay/img/drop_out.png) no-repeat;   

 先返回到上一级然后在到图片   。这个图可以看到我less 文件与img文件是同级的  但是同级  ./ 加载不到   只能  ../livePlay/img  先退到上一级在进来。这样是可以的

 第二种方法 : 使用  background: ~"url(./bg.png)" no-repeat;

  这个方法是dva 官方提供的

 本人qq   981900309

 

原文地址:https://www.cnblogs.com/caihua0405/p/11269086.html