用create-react-app建立的項目基於react-scripts內建支持css modules,須要把css文件名改爲filename.module.css,導入方式須要改爲:css
import styles from './Button.module.css'; // Import css modules stylesheet as styles
class定義方式改爲了:html
<button className={styles.error}>Error Button</button>
編譯後這個error class被惟一化:react
<button class="Button_error_ax7yz"></div>
對比其餘web框架的CSS組件隔離渲染,這個方案的弊病:導入語句和html代碼都是強侵入。還有一個問題當文件名中間加了.module之後,就必須用上面的和導入方式,用styles.className方式定義class了,不然css Modules編譯完,不加編譯後處理的classname就無效了,這可真是強耦合的一個糟糕設計,just fro implemention。web