css-loader不导入返回空对象的.css文件

Gop*_*iva 8 reactjs webpack webpack-style-loader css-loader

从css文件导入样式.返回空对象.似乎css-loader无法正常工作.谁可以帮我这个事.请在下面找到参考文件

index.js

import React from 'react'   
import style from './header.css'

console.log(style) // Returning empty object

export default class Header extends React.PureComponent {
  render() {
    return(
      <header className = {style.header}>
        This is header component
      </header>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

./header.css

.header {
  background: #007DC6;
}
Run Code Online (Sandbox Code Playgroud)

./webpack.config.js

{
  test: /\.css$/,
  exclude: /node_modules/,
  loaders: ['style-loader', 'css-loader'],
}, {
  test: /\.css$/,
  include: /node_modules/,
  loaders: ['style-loader', 'css-loader'],
}
Run Code Online (Sandbox Code Playgroud)

Sea*_*kin 9

我想知道这可能是你没有使用css-modules.您展示的示例是实现加载程序的css-modules功能的示例.

也许尝试将?modules查询添加到您的css-loader定义中.

  • 你能展示一下如何使用模块吗,我面临同样的问题?。谢谢。 (2认同)
  • @darksoulsong ,我已经在 webpack 模块定义中添加了 css-loader 查询,用于“test : /\.css$/”,就像这样,`loaders: ['style-loader', 'css-loader?modules=true&amp;camelCase=true' ]` (2认同)

Moh*_*loo 6

您可以通过三种方式解决您的问题:

#1:替换'css-loader''css-loader?modules=true&camelCase=true'

#2:像这样做旧学校:

##index.js

import React from 'react'   
import './header.css'

export default class Header extends React.PureComponent {
  render() {
    return(
      <header className="header">
        This is header component
      </header>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

#3: 使用babel-plugin-react-css-modulesReact CSS Modules