【问题标题】:React Hot Module Replacement On Windows 10 / UbuntuWindows 10 / Ubuntu 上的 React 热模块更换
【发布时间】:2018-01-18 01:51:04
【问题描述】:

所以我一直在尝试为 React 配置热重载,我将 webpack2 与 express 和 webpack-hot-middleware 用于 HMR。

我使用适用于 Linux 的 Windows 子系统从 ubuntu 运行服务器,并在 Windows 上使用普通的 Chrome 作为客户端。

它在我的 mac 上运行得很好,但在 Windows 上却不行,我尝试将浏览器连接到“localhost”和“127.0.0.1”,还明确将 express 上的主机名设置为“localhost”、“127.0”。 0.1' 和 '0.0.0.0' 但它们都不起作用。

Webpack 甚至不会在文件更改时重建。

这是我的 webpack.config.js

const path = require('path');
const webpack = require('webpack');

module.exports = {
  entry: [
    path.resolve(__dirname, './src/index.jsx'),
    'webpack-hot-middleware/client'
  ],
  devtool: 'inline-source-map',
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoEmitOnErrorsPlugin()
  ],
  output: {
    path: path.resolve(__dirname, './dist'),
    filename: 'app.bundle.js',
    publicPath: '/'
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: [/node_modules/],
        use: [{
          loader: 'babel-loader',
          options: {
            presets: ['react', 'env']
          }
        }]
      }
    ]
  }
}

中间件配置

app.use(webpackDevMiddleware(compiler, {
  publicPath: config.output.publicPath
}));

app.use(webpackHotMiddleware(compiler));

app.listen(port, () => {
  console.log('Listening on port ', port);
});

【问题讨论】:

  • 控制台中没有错误日志吗?
  • 不,没有错误日志,只有“hmr connected”消息,但这是唯一的日志

标签: reactjs ubuntu express webpack windows-10


【解决方案1】:

我也遇到过这种情况,这似乎是 linux 子系统之外的文件更改问题。我正在使用 Atom 进行编辑,但没有看到重建。但是,如果我从 bash 中触摸文件或通过 vi 编辑它们,我会看到重新构建和重新加载。我在从 Atom 更改 webpack 通知文件方面并没有走得太远,但是如果我在我的环境中设置 CHOKIDAR_USEPOLLING=true ,这些更改最终会在一些短暂的轮询间隔后被注意到。

【讨论】:

    猜你喜欢
    • 2018-09-22
    • 2017-03-06
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 2016-12-23
    • 2018-12-03
    • 2017-06-22
    • 2017-06-28
    相关资源
    最近更新 更多