CSS Modules入门及React中实践(内附webpack4配置)
本篇文章以整理为主,自己进行了部分修改,如有侵权,请告知 CSS Modules介绍 CSS Modules是什么东西呢?首先,让我们从官方文档入手: GitHub – css-modules/css-modules: Documentation about css-modules CSS模块就是所有的类名都只有局部作用域的CSS文件。 所以CSS Modules既不是官方标准,也不是浏览器的特性,而是在构建步骤(例如使用Webpack或Browserify)中对CSS类名选择器限定作用域的一种方式(通过hash实现类似于命名空间的方法)。 在使用CSS模块时,类名是动态生成的,唯一的,并准确对应到源文件中的各个类的样式。 这也是实现样式作用域的原理。它们被限定在特定的模板里。例如我们在buttons.js里引入buttons.css文件,并使用.btn的样式,在其他组件里是不会被.btn影响的,除非它也引入了buttons.css. 可我们是出于什么目的把CSS和HTML文件搞得这么零碎呢?我们为什么要使用CSS模块呢? 为什么我们需要CSS模块化 CSS全局作用域问题,样式冲突(污染)的问题。 class命名写长一点吧,降低冲突的几率 加个父元素的选择器,限制范围 重新命名个class吧,比较保险 可是以上方案只是降低了全局冲突的概率,并不能彻底解决全局冲突的问题。并且