webpack4热重装对于某些文件不起作用

时间:2019-06-18 22:28:25

标签: reactjs webpack webpack-dev-server webpack-4 html-webpack-plugin

当我尝试从某些文件中重新加载更改时,我对react webpack4有问题。以及那些我从其原始路径修改过的文件(从/ src / containers到/ src / components) 其余文件重装工作正常... 我的webpack配置文件的代码如下:

  const path = require('path');
  const HtmlWebPackPlugin = require("html-webpack-plugin");
  const Dotenv = require('dotenv-webpack');

  const htmlWebpackPlugin = new HtmlWebPackPlugin({
    template: "./src/index.html",
    filename: "./index.html"
  });

  module.exports = {
    output: {
      path: path.join(__dirname, './'),
      publicPath: '/'
    },
    module: {
      rules: [
        {
          test: /\.js$/,
          exclude: /node_modules/,
          use: {
            loader: "babel-loader"
          }
        },
        {
          test: /\.html$/,
          use: [
            {
              loader: "html-loader",
              options: { minimize: true }
            }
          ]
        },
        {
          test: /\.css$/,
          use: [
            {
              loader: "style-loader"
            },
            {
              loader: "css-loader",
              options: {
                modules: true,
                importLoaders: 1,
                localIdentName: "[name]_[local]_[hash:base64]",
                sourceMap: true,
                minimize: true
              }
            }
          ]
        }
      ]
    },
    plugins: [
      new HtmlWebPackPlugin({
        template: "./src/index.html",
        filename: "./index.html"
      }),
      new Dotenv()
    ],
    devServer: {
      historyApiFallback: true,
    }
  };

2 个答案:

答案 0 :(得分:0)

如果您可以共享错误日志,我可以告诉您真正的问题是什么。但是当前配置缺少入口点。如果您的应用程序是单页应用程序,请执行以下代码;

module.exports = {
  entry: path.join(__dirname, "src", "index.js"),
  ...
}

如果您要构建多页应用程序,请执行以下代码;

module.exports = {
  entry: {
    pageOne: path.join(__dirname, "src", "pageOne", "index.js"),
    pageTwo: path.join(__dirname, "src", "pageTwo", "index.js"),
    pageThree: path.join(__dirname, "src", "pageThree", "index.js")
  }
  ...
}

答案 1 :(得分:0)

对于到达这里并遇到此问题的任何人,我都遇到了一个确切的问题,即我的“ src / components”目录中的文件没有被热加载。

当我在日志中看到webpack由于某种原因在寻找目录src / Components时,我能够修复它,因此我将components目录的名称更改为与“ placeholder”完全不同的名称,然后更改了回到“组件”并重新安装。