簡體   English   中英

React和hmr,為什么Webpack忽略了變化?

[英]React and hmr, why Webpack ignores changes?

我正在嘗試使用熱模塊替換來使用Webpack構建我的React項目。 但是,Webpack忽略了文件更改。 我究竟做錯了什么? 我的配置:

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

  module.exports = {
    entry: [
      'webpack-dev-server/client?http://localhost:4567',
      'webpack/hot/only-dev-server',
      './src/index'
    ],
    output: {
      path: path.join(__dirname, 'dist'),
      filename: 'bundle.js',
      publicPath: '/static/'
    },
    plugins: [
      new webpack.HotModuleReplacementPlugin(),
      new webpack.NoErrorsPlugin()
    ],
    module: {
      loaders: [{
        test: /\.js$/,
        loaders: ['react-hot', 'babel'],
        include: [path.join(__dirname, 'src')]
      }]
    }
  };

我的文件結構:

src
--app
----actions
----components
----constants
----reducers
----app.js
----config.js
--index.js

如果模塊文件位於“src”文件夾中,則熱模塊替換工作正常,否則更改時不會發生任何變化。

謝謝!

因為您已在webpack配置中設置了include

您可以像這樣更改配置:var path = require('path');

  var webpack = require('webpack');

  module.exports = {
    entry: [
      'webpack-dev-server/client?http://localhost:4567',
      'webpack/hot/only-dev-server',
      './src/index'
    ],
    output: {
      path: path.join(__dirname, 'dist'),
      filename: 'bundle.js',
      publicPath: '/static/'
    },
    plugins: [
      new webpack.HotModuleReplacementPlugin(),
      new webpack.NoErrorsPlugin()
    ],
    module: {
      loaders: [{
        test: /\.js$/,
        loaders: ['react-hot', 'babel'],
        include: [`all of your dirs you want to watch`]
      }]
    }
  };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM