首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用css-loader时,导入的样式对象为空

使用css-loader时,导入的样式对象为空
EN

Stack Overflow用户
提问于 2018-05-26 02:07:41
回答 4查看 1.4K关注 0票数 1

我尝试使用css-loader从每个react组件的样式表中导入样式,但我导入的对象是空的。请参见代码:

Header.js:

代码语言:javascript
复制
import React from 'react';
import classes from './Header.css';

const header = () => {
    console.log('classes obj', classes);

    return (
        <div className={classes.Header}>
            <h1>Title Goes Here</h1>
        </div>
    )
}


export default header;

下面是我的Header.css文件:

代码语言:javascript
复制
.Header {
    background-color:  rgb(49, 118, 197);
}

下面是我为dev配置的webpack的一段代码:

代码语言:javascript
复制
test: /\.css$/,
            use: [
              require.resolve('style-loader'),
              {
                loader: require.resolve('css-loader'),
                options: {
                  importLoaders: 1,
                  modules: true,
                  localIdentName: '[name]__[local]__[hash:base64:5]'
                },
              },

下面是我为prod配置的一个片段:

代码语言:javascript
复制
    test: /\.css$/,
    loader: ExtractTextPlugin.extract(
      Object.assign(
        {
          fallback: {
            loader: require.resolve('style-loader'),
            options: {
              hmr: false,
            },
          },
          use: [
            {
              loader: require.resolve('css-loader'),
              options: {
                importLoaders: 1,
                minimize: true,
                sourceMap: shouldUseSourceMap,
                modules: true,
                localIdentName: '[name]__[local]__[hash:base64:5]',
              },
            },

一个类似的问题询问了here,但webpack的配置看起来太不同了,无法实现解决方案。

您可以在我的Header.js中看到我正在导入的类obj,但它是一个空对象。

有什么线索吗?谢谢!

EN

回答 4

Stack Overflow用户

发布于 2018-05-26 02:11:25

你应该

代码语言:javascript
复制
import './Header.css'

然后对于组件:

代码语言:javascript
复制
<div className="Header">... </div>
票数 0
EN

Stack Overflow用户

发布于 2018-05-26 02:14:48

好的,这是给其他像我一样愚蠢的人的答案。安装css-loader后,重新启动构建过程。

票数 0
EN

Stack Overflow用户

发布于 2018-05-26 02:21:19

你能试试{ test: /.css$/,loader:'style!css-loader?modules&importLoaders=1&localIdentName=namelocal_hash:base64:5‘}吗

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50534722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档