如何从React中的外部模块正确加载CSS?

时间:2019-03-30 16:03:16

标签: reactjs webpack jsx webpack.config.js

在我的react.js应用程序中,我尝试使用外部模块(React Toastify) 使用以下语句:

import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';

不幸的是,这引发了以下错误:

Uncaught Error: Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
> .Toastify__toast-container {
|   z-index: 9999;

我想这与webpack有关,这是我在webpack.config.js中的设置:

    output: {
  filename: '[name].js',
  path: path.resolve(__dirname, 'assets'),
},

devtool: production ? '' : 'source-map',

resolve: {
  extensions: [".js", ".jsx", ".json"],
},


module: {
  rules: [
    {
     test: /\.jsx?$/,


      exclude: /node_modules/,



      loader: 'babel-loader',
    },
  ],
},

};

我不确定如何解决此问题,欢迎任何建议。

1 个答案:

答案 0 :(得分:1)

在您的webpack配置文件中,添加了CSS加载程序测试:

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

请不要忘记使用npm i -D css-loader安装它。

此处有更多信息:https://github.com/webpack-contrib/css-loader