1)从形式上看,CSS Modules 是将CSS中的选择器转换为变量,然后在DOM中引用变量来引入样式。
2)从效果上看,CSS Modules 可以将CSS选择器名字转成随机字符串,保证选择器同名也不会冲突。
3)在Webpack中使用,需要为css-loader增加modules
// webpack 1.x { test: /.css$/, loader: "style-loader!css-loader?modules" }, // webpack 2.x { test: /.css$/, use: [ { loader: 'css-loader', options: { modules: true, } } ] }
4)代码引入方式
// CSS .content { color: red; } // React import React from 'react'; import style from './App.css'; export default () => { return ( <h1 className={style.content }> Hello World </h1> ); };
5、生成的页面中选择器变化
// HTML <h1 class="_3zyde4l1yATCOkgn-DBWEL"> Hello World </h1> // CSS ._3zyde4l1yATCOkgn-DBWEL { color: red; }
6、node_modules内代码不处理
{
test: /.css$/,
loader: 'style-loader!css-loader?modules',
exclude:[path.resolve(__dirname, '..', 'node_modules')]
}, {
test: /.css$/,
loader: 'style-loader!css-loader',
include:[path.resolve(__dirname, '..', 'node_modules')]
},
https://github.com/webpack-contrib/css-loader#modules
https://www.cnblogs.com/walls/p/9153555.html
http://www.ruanyifeng.com/blog/2016/06/css_modules.html
https://segmentfault.com/a/1190000004990977
https://github.com/camsong/blog/issues/5
https://github.com/webpack-contrib/css-loader/issues/282
继续阅读与本文标签相同的文章
上一篇 :
针对DevOps的10款最佳Jenkins插件
下一篇 :
高德地图排雷指南(一)--点标记,信息窗体
-
Mac高效开发之iTerm2、Prezto和Solarized主题
2026-05-18栏目: 教程
-
将阿里云产品整合成为高校课程实训的训练营产品的实践(四)
2026-05-18栏目: 教程
-
中间人攻击,HTTPS也可以被碾压
2026-05-18栏目: 教程
-
什么叫做IaC,与DevOps有什么关系?如何实现?
2026-05-18栏目: 教程
-
解读《运维知识体系》,直面自动化运维的“灵魂八问”
2026-05-18栏目: 教程
