1

ホットモジュール置換を使用して 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」フォルダーにある場合、ホットモジュール交換は正常に機能します。それ以外の場合、変更時に何も起こりません。

ありがとう!

4

1 に答える 1

0

includewebpack構成で設定したためです。

次のように設定を変更できます: 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`]
      }]
    }
  };
于 2016-04-21T09:35:07.067 に答える