反应CSS的webpack配置

时间:2017-10-20 14:56:25

标签: css reactjs webpack semantic-ui-react

我对Webpack很新,​​所以很可能我的问题显而易见,问了100次,而我却无法连接它们。也许。

我有小型Express - Ract - Gprahql - Semantic-ui项目。 我需要将它与Webpack绑定在一起,我完全无法得到它的逻辑。 我需要为组件添加样式,我想应该使用css-module吗? (我呢?)并添加一些魔术内容做webpack.config的模块部分。到目前为止(没有自定义css工作)它看起来像:

const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './client/index.js',
  output: {
    path: '/',
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        use: 'babel-loader',
        test: /\.jsx$/,
        exclude: /node_modules/
      },
      {
        test: /\.css$/,
        use: [ 'style-loader', 'css-loader' ]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: 'client/index.html'
    })
  ]
};

我在docs中发现我需要css和样式加载器(无论它意味着什么)所以我已经安装了正确的包并将对象添加到module.rules:

  {
    test: /\.css$/,
    use: [ 'style-loader', 'css-loader' ]
  }

编译时我得到的只是错误。

You may need an appropriate loader to handle this file type.
|   const Root = () => {
|     return (
|           <ApolloProvider client={client}>
|             <Router history={hashHistory}>
|               <Route path="/" component={App}>

我希望在我提出要求之前我可以进行更多调查,但我不知道从哪里开始。 如果您需要,这是我的回购:https://bitbucket.org/don_Kamillo/ranking/src

1 个答案:

答案 0 :(得分:2)

目前,看起来您没有.js个文件的加载器。这是因为您的babel-loader配置了.jsx$。如果您希望x是可选的,请使用.jsx?$

module: {
    rules: [
      {
        use: 'babel-loader',
        test: /\.jsx?$/,
        exclude: /node_modules/
      },
      {
        test: /\.css$/,
        use: [ 'style-loader', 'css-loader' ]
      }
    ]
  },