7

我正在为我的 CSS 使用css-loaderstyle-loader,但所有媒体查询都不起作用。我正在使用"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'
4

2 回答 2

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>

于 2017-08-01T07:56:08.643 回答
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 时回退到 style-loader,因为 ETP 不支持热重载。

于 2017-08-01T07:55:57.210 回答