css module 是作用域样式。样式文件与组件一一对应,借助构建工具,可以将类名改为与组件绑定的新的名称。

    css module 可以解决css样式全局冲突问题。

    1. <h1 class="title">An example heading</h1>
    2. .title {
    3. background-color: red;
    4. }

    使用 css module

    1. import styles from "./styles.css";
    2. element.innerHTML =
    3. `<h1 class="${styles.title}">
    4. An example heading
    5. </h1>`;

    编译为

    1. <h1 class="_styles__title_309571057">
    2. An example heading
    3. </h1>
    4. ._styles__title_309571057 {
    5. background-color: red;
    6. }

    使用css module 之后我们可以不在使用 BEM规范,这样类名看起来也更清晰。