@syncher

Почему webpack-dev-server ен обновляет страницу?

Разбираюсь с Вебпаком. Сделал простой конфиг с webpack-dev-server. По идее, он должен автоматически делать новый бандл и обновлять страницу после изменения кода в редакторе. Но не работает! Вернее, работает только сам сервер, но не работает обновление страницы и упаковка нового бандла.

Структура папок:
build
- bundle.js
src
- main.js
index.html
webpack.config.js

Конфиг Вебпака:
var webpack = require('webpack');

module.exports = {
  entry: './src/main.js',
  output: {
    path: 'build',
    filename: 'bundle.js'
  },
  devServer: {
    inline: true,
    contentBase: ['./', './build'],
    port: 3000
  },
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /(node_modules)/,
        loader: 'babel'
      },
      {
        test: /\.(png|jpg)$/,
        loader: 'url-loader?limit=20000'
      },
      {
        test: /\.scss$/,
        loader: 'style-loader!css-loader!sass-loader'
      }
    ]
  }
}


Конфиг main.js:
var React = require('react');
var ReactDOM = require('react-dom');
require('./style.scss');

class Message extends React.Component {
  render() {
    return (
      <div>
        <h1>{this.props.title}</h1>
        <button>{this.props.message}</button><br></br>
        <p>GGGGGGGGGGGG</p>
        <img src="src/1.jpg"></img>
      </div>
    )
  }
}

ReactDOM.render(<Message title="Fuck Vasya" message="Can you email him?"/>,
  document.getElementById('react-container'));
  • Вопрос задан
  • 4067 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Aves
webpack.github.io/docs/webpack-dev-server.html#inl...
Надо entry сделать массивом и добавить первым "webpack-dev-server/client?http://localhost:8080/"
Ответ написан
Bowen
@Bowen
Японский бог
Hot Module Replacement.
P.S. Для реакта вроде были то ли модули то ли лоадеры. Прогуглите.
Ответ написан
@intermundos
Позвольте увидеть скрипт запускающий данный конфиг.
При запуске нужно указать --hot, либо добавить hot module replacement plugin непосредственно в конфиг.
Ответ написан
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
в секции с лоадерами:
{
        test: /\.js$/,
        loaders: ['react-hot', 'babel'],
        //include/exclude и тд
      },


в секции с плагинами:
plugins: [
    new WebpackNotifierPlugin, // и другие...
    new webpack.HotModuleReplacementPlugin()
  ],
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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