【问题标题】:Webpack dev server not reloadingWebpack 开发服务器未重新加载
【发布时间】:2019-05-22 12:30:24
【问题描述】:

突然间,webpack-dev-server 不再在源代码更改时重新加载。 HRM 已正确加载,但更改源代码不会再触发热重载。以前它工作正常。

我发现有很多人在 Stackoverflow 中询问同样的问题。他们每个人都用不同的解决方案解决了,我试过了,但没有一个对我有用。因此,这不是一个重复的问题,因为我尝试了已经提供的解决方案,但没有一个对我有用。

我尝试清理软件包并重新安装所有软件包 我尝试使用不同的路径进入 webpack 配置的“入口”

webpack.config.js:

var path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')
const CopyWebpackPlugin = require('copy-webpack-plugin')

const webpack = require('webpack')

module.exports = {
  mode: 'development',
  entry: './src/index.tsx',
  resolve: {
      extensions: [".ts", ".tsx", ".js"]
    },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'app.bundle.js'
  },

    plugins: [
          new HtmlWebpackPlugin({
            title: "test app",
            filename: "./index.html",
            template: "src/index.html",
            inject: "body",
          }),
          new CopyWebpackPlugin([{ from: 'assets', to: 'assets'}]),
          new webpack.DefinePlugin({
              VERSION:     JSON.stringify(process.env.npm_package_version),
      }),
      new webpack.HotModuleReplacementPlugin({

      }),
    ],

  devServer: {
    contentBase: path.join(__dirname, 'dist'),
compress: true,
host: "localhost",
port: 9000,
hot: true,
disableHostCheck: true,
  },
  module: {
    rules: [
    { test: /\.(tsx)?$/, 
      loader: "ts-loader",
        exclude: path.join(__dirname, 'node_modules'),
    },
    {test: /\.css$/, use: ['style-loader',{loader:'css-loader',     options:{}}]}
    ],
  },
  node: {
fs: 'empty'
  }

};

我预计 HRM 会照常工作。

【问题讨论】:

    标签: node.js webpack webpack-dev-server


    【解决方案1】:

    HMR 依赖于 webpack 收到文件系统事件的通知,根据我的个人经验,与监视文件相关的主机特定问题是 HMR 和编译器监视无法按预期工作的唯一问题。

    在撰写本文时,由于系统限制,观看可能silently fail。此外,某些环境需要配置为使用轮询。

    Watch and WatchOptions 上有一个相关文档,提供了有关如何配置 webpack 的更多详细信息。此外,委派给的chokidar 提供了替代的配置方式,例如来自进程环境的CHOKIDAR_USEPOLLING

    【讨论】:

    • 是的,我认为这个问题与手表有关......非常烦人......所以无声的错误。
    【解决方案2】:

    我突然又开始工作了,没有任何明显的原因。我没有修改任何配置文件或源文件,现在,运行开发服务器将在源代码发生更改时正确地热重载。

    因此,我可以得出结论,这不是项目的任何配置文件中的错误,而是可能与开发服务器的实现本身或操作系统未通过文件更改有关?

    【讨论】:

      猜你喜欢
      • 2018-12-02
      • 2017-05-03
      • 2017-04-15
      • 2017-06-07
      • 1970-01-01
      • 2020-01-29
      • 1970-01-01
      • 2017-01-13
      • 2017-11-03
      相关资源
      最近更新 更多