Media Query无法使用CSS / Style loader和Webpack3

时间:2017-08-01 07:34:35

标签: css reactjs webpack-style-loader css-loader webpack-3

我正在使用css-loaderstyle-loader作为我的CSS,但所有媒体查询都无效。我使用的是"webpack": "^3.4.1""css-loader": "^0.28.4""style-loader": "^0.18.2"

这是我的Webpack配置:

const ExtractTextPlugin = require('extract-text-webpack-plugin')

rules: [{
  test: /\.css$/,
  use: [{
    loader: 'style-loader'
  }, {
    loader: 'css-loader',
    options: {
      modules: true,
      localIdentName: '[name]-[local]-[hash:base64:6]',
      camelCase: true
    }
  }]
}]
...
plugins: [
  new ExtractTextPlugin({
    filename: 'style.[chunkhash:6].css',
    allChunks: true
  })
]

我的css文件是这样的:

.container{
  position: relative;
  margin: 30px 15px;
  padding: 50px 15px;
  background: #fff;
}
@media (max-width: 768px) {
  .container{
    background: #fbfbfb;
  }
}

我正在React代码中导入此CSS文件,如下所示:

import styles from './Component.css'

2 个答案:

答案 0 :(得分:2)

尝试使用此代码

.container{
  position: relative;
  margin: 30px 15px;
  padding: 50px 15px;
  background: #fff;
}
@media only screen and (max-width:768px){
  .container{
    background: #c00;
  }
}
<div class="container">
content her
</div>

答案 1 :(得分:0)

我认为问题在于您声明了ExtractTextPlugin,但您使用的是css和样式加载器。

请查看此设置以供参考:

<强>插件

 plugins: [
    new ExtractTextPlugin({ 
      filename: "css/bundle.css", 
      allChunks: true,
      disable: process.env.NODE_ENV !== 'production'
    }),
  ]

<强>装载机

  {
    test: /\.css$/,
    loader: ExtractTextPlugin.extract({
      fallback: 'style-loader',
      use: 'css-loader?importLoaders=1'
    })
  }

这将使用ExtractTextPlugin和生成版本,并在使用webpack-dev-server时回退到样式加载器,因为ETP不支持热重新加载。