如何在React中导入特定于组件的CSS样式?

时间:2016-07-21 09:30:52

标签: javascript html css reactjs webpack-dev-server

这是我试图模仿的结构(来自react-boilerplate):

component
  |Footer
    |style.css
    |Footer.js

在Footer.js中,样式以这种方式非常优雅地导入:

import React from 'react';
import A from 'components/A';

import styles from './styles.css';

function Footer() {
  return (
    <footer className={styles.footer}>
      <section>
        <p>This project is licensed under the MIT license.</p>
      </section>
      <section>
        <p>Made with love by <A href="https://twitter.com/mxstbr">Max Stoiber</A>.</p>
      </section>
    </footer>
  );
}

export default Footer;
然后为页脚元素生成

className(s),以将样式应用于该特定组件。

但是当我试图在我的项目中模仿这个结构时,它不起作用。导入的styles对象始终为空。我怀疑我可能缺乏一些依赖性,但我无法弄清楚它可能是什么。

我想知道我可能缺少哪个依赖项和/或我需要做的webpack配置才能将相同的结构应用到我的项目中。

2 个答案:

答案 0 :(得分:2)

您可以像这样配置您的网络包

. . .
{
  test: /\.css$/,
  loader: 'style!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]' 
}
. . .

答案 1 :(得分:0)

很不确定,但似乎您正在寻找styles.css javascript import styles from './styles.css'; 并且您的目录中有style.css:)