Webpack на HTML меняет не живая перезагрузка - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть следующая конфигурация Webpack.

const path = require('path');
const webpack = require('webpack');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
  devServer: {
    contentBase: path.resolve(__dirname, 'dist'),
    compress: true,
    publicPath: 'dist',
    writeToDisk: true,
    open: true,
    liveReload: true,
    hotOnly: true,
  },
  entry: './src/js/app.js',
  output: {
    filename: 'app.js',
    path: path.resolve(__dirname, 'dist/js'),
    publicPath: 'dist',
  },
  module: {
    rules: [
      {
        test: /\.(scss)$/,
        use: [
          {
            loader: MiniCssExtractPlugin.loader,
          },
          {
            loader: 'css-loader',
          },
          {
            loader: 'postcss-loader',
            options: {
              plugins: function () {
                return [require('autoprefixer')];
              },
            },
          },
          {
            loader: 'sass-loader',
          },
        ],
      },
      {
        test: /\.(eot|woff|woff2|ttf|svg)(\?\S*)?$/,
        use: [
          {
            loader: 'file-loader',
            options: {
              name: '[name].[ext]',
              outputPath: '../fonts/',
              publicPath: '../fonts/',
            },
          },
        ],
      },
    ],
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: '../css/app.css',
    }),
    new webpack.ProvidePlugin({
      $: 'jquery',
      jQuery: 'jquery',
    }),
  ],
};

Когда я редактирую файлы HTML, он не перезагружает браузер, как nodemon

Это мои сценарии

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start:dev": "webpack-dev-server --hot --mode development"
  },

1 Ответ

1 голос
/ 25 апреля 2020

Установите devServer.watchContentBase на true, например:

module.exports = {
  //...
  devServer: {
    watchContentBase: true
  }
};

devServer.watchContentBase

логический

Скажите dev-серверу, чтобы он смотрел файлы, обслуживаемые параметром devServer.contentBase. Это отключено по умолчанию. Если этот параметр включен, изменения файла будут запускать полную перезагрузку страницы.

(из https://webpack.js.org/configuration/dev-server/#devserverwatchcontentbase)

...