如何在带有css模块的react组件中使用@apply

时间:2016-10-16 11:00:31

标签: css reactjs react-css-modules

我在全球style.css:

中得到了这个
:root {
    --font: {
        font-family: "Source Sans Pro", sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

...这在反应组件的style.css中:

.rightnav {
    @apply --font;
    float: right;
    color: white;
}

在组件本身中:

import React from "react"
import cssModules from "react-css-modules"
import style from "./style.css"

render() {
  return (
        <ul>
          <li className={style.rightnav}>Blog</li>
        </ul>
  )
}

我收到错误:没有为font声明自定义属性集。

1 个答案:

答案 0 :(得分:1)

您必须将全局样式表导入到本地样式表中。因为postcss-apply在解析本地文件时无法知道该全局文件。因此,仅使用自定义属性和自定义属性集声明来部分是个好主意。

您可能需要postcss-import

之类的内容
@import 'path/to/variables.css';

.rightnav {
  @apply --font;
  float: right;
  color: white;
}