React и hmr, почему Webpack не пересобирает проект?

Всем привет!

Хочу начать использовать webpack для сборки React-проекта. Для начала мой конфиг:

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


Столкнулся с проблемой: hot module replacement работает только в случае, когда реакт модули лежат непосредственно в ./src, иначе webpack на изменения файлов (в папке app/components, допустим) не реагирует совсем никак. В чем моя проблема?

Заранее спасибо!
  • Вопрос задан
  • 694 просмотра
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Конфиг несколько староват. Откопал свой конфиг с подобной версией, особых отличий не вижу. Разве что в module include указана директория сразу, а не элемент массива.
{ test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        loaders: ['react-hot','babel?stage=0&optional=runtime&plugins=typecheck'],
        include: path.join(__dirname, 'src/js')
      },


Полный конфиг здесь (не смотрите что он .hot, это просто для удобства было сделано по не знанию)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы