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, допустим) не реагирует совсем никак. В чем моя проблема?

Заранее спасибо!
  • Вопрос задан
  • 687 просмотров
Пригласить эксперта
Ответы на вопрос 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, это просто для удобства было сделано по не знанию)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы