Вам необходимо использовать style-loader и css-loader в вашем webpack.config.js
Сначала установите эти два пакета через npm:
npm install style-loader, css-loader --dev
Затем создайте styles.css в папке src
и добавьте в файл следующие стили (просто для демонстрации, чтобы вы знали, что он работает правильно):
body {
background-color: #ff4444;
}
Не забудьте импортировать файл css в src / index.js :
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.js';
import './styles.css'; // <- import the css file here, so webpack will handle it when bundling
ReactDOM.render(<App />, document.getElementById('app'));
И используйте style-loader и css-loader в своем webpack.config.js :
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/index.js',
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: { loader: 'babel-loader' },
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
],
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
}),
],
};
Если вы не видите правильный вывод, вам может потребоваться перезапустить сервер разработки webpack снова. Я клонировал ваш репозиторий и внес изменения, как я упоминал выше, это работает.
Что касается ExtractTextPlugin
, вам это понадобится при комплектации для производственной сборки, вы можете узнать больше из их Репо
Надеюсь, это поможет!