Добавить стиль в комплекте кода с помощью веб-пакета - PullRequest
0 голосов
/ 24 августа 2018

GitHub: https://github.com/Chirag161198/react-boilerplate 1

Вот образец реакции, который я пытаюсь сделать с нуля. Я связал HTML с кодом реагирования, но не могу добавить стили (CSS). Я слышал о ExtractTextPlugin, но не могу его настроить. Пожалуйста, предложите какой-нибудь способ добавить стили к нему.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

Привет, Чираг ExtractTextPlugin отлично работает, но когда дело доходит до кеширования и хеширования пакетов.Пакет Css становится 0 байтов .Поэтому они представили MiniCssExtractPlugin, который решил эту проблему.Очень важно кэшировать статические файлы, так как размер вашего приложения увеличивается со временем.Сначала плагин импорта:

var MiniCssExtractPlugin = require("mini-css-extract-plugin");

добавьте их в конфигурацию вашего веб-пакета:

rules: [

   {
      test: /\.js$/,
      exclude: /node_modules/,
      use: {
        loader: 'babel-loader'
      }
    },
    {
      test: /\.scss$/,
      use:  [  'style-loader', MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
    }
  ]
}
plugins: [
  new MiniCssExtractPlugin({
    filename: 'style.css',
  }),
  new HtmlWebpackPlugin({
    template: './src/index.html',
  }),

Дайте мне знать, что проблема все еще сохраняется.

0 голосов
/ 24 августа 2018

Вам необходимо использовать 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, вам это понадобится при комплектации для производственной сборки, вы можете узнать больше из их Репо

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...