【问题标题】:Hot reloading not working on my react project with webpack 5使用 webpack 5 热重新加载对我的反应项目不起作用
【发布时间】:2021-01-12 07:23:06
【问题描述】:

我正在创建一个新项目。当我完成安装 npm 包并运行基本设置时,一切正常,除了当我对代码进行更改并保存文件并移动到浏览器以查看更改时,页面没有在浏览器中重新加载。我必须手动刷新页面才能看到新的变化。

这是我的 package.json 文件:

{
  "name": "resume",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "webpack serve"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@babel/preset-react": "^7.12.10",
    "react": "^17.0.1",
    "react-dom": "^17.0.1"
  },
  "devDependencies": {
    "@babel/core": "^7.12.10",
    "@babel/plugin-proposal-class-properties": "^7.12.1",
    "@babel/preset-env": "^7.12.11",
    "babel-loader": "^8.2.2",
    "clean-webpack-plugin": "^3.0.0",
    "html-webpack-plugin": "^4.5.1",
    "webpack": "^5.12.2",
    "webpack-cli": "^4.3.1",
    "webpack-dev-server": "^3.11.1"
  }
}

这是我的 webpack.config.js:

const path = require('path')
const webpack = require('webpack')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const { web } = require('webpack')

module.exports = {
    mode: 'development',
    devServer: {
        historyApiFallback: true,
        contentBase: path.resolve(__dirname, './dist'),
        open: true,
        compress: true,
        hot: true,
        port: 8080,
    },
    target: 'web',
    // entry: {
    //     main: path.resolve(__dirname, './src/index.js'),
    // },
    // output: {
    //     path: path.resolve(__dirname, './dist'),
    //     filename: '[name].bundle.js',
    // },
    module: {
        rules: [
            // JavaScript
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: ['babel-loader'],
            },
        ],
    },
    plugins: [
        new HtmlWebpackPlugin({
            title: 'webpack Boilerplate',
            template: path.resolve('./index.html'),
            filename: 'index.html', // output file
        }),
        new CleanWebpackPlugin(),
        new webpack.HotModuleReplacementPlugin(),
    ],
}

我搜索了网络,似乎问题出在 webpack-dev-server,但我不确定。请帮忙。

【问题讨论】:

    标签: reactjs webpack webpack-dev-server


    【解决方案1】:

    webpack-dev-server 版本更新到 4.0.0-beta.0 我也遇到了同样的问题。

    【讨论】:

    • 感谢@Punith K. 浏览了一篇文章。在 index.js 主页面中添加module.hot.accept(); 解决了这个问题。
    • 你能分享这篇文章吗@Punith K. Ran
    • link 这里,@AlekseiSmoliakov
    猜你喜欢
    • 2020-03-14
    • 2018-10-16
    • 2017-05-18
    • 2018-06-12
    • 2020-11-16
    • 2016-12-28
    • 1970-01-01
    • 2018-09-15
    • 2016-12-10
    相关资源
    最近更新 更多