2016-05-24 2 views
1

В статье every documentation или статье, которую я вижу, чтобы включить HMR с webpack-dev-сервером, нам нужно использовать webpack-dev-server --hot --inline. Интересно, что даже если я опускаю флаг hot и только keep inline в моей кодовой базе HMR все еще работает. Все документы устарели или я ошибаюсь?Почему в webpack-dev-сервере требуется как встроенный, так и горячий флаг, чтобы включить горячую перезагрузку

Я не определяет каких-либо devServer опцию в WebPack конфигурации, вот мой WebPack конфигурации

module.exports = { 
    entry: { 
    main: "./app/main.ts", 
    shims: ['es6-shim', 'reflect-metadata', 'rxjs', 'zone.js'] 
    }, 
    output: { 
     path: __dirname, 
     filename: "./dist/[name].js", 
     sourceMapFilename: "./dist/[name].map" 
    }, 
    resolve: { 
     extensions: ['', '.js', '.ts'] 
    }, 
    module: { 
     loaders: [ 
      { test: /\.ts?$/, loader: 'ts-loader' } 
     ] 
    }, 
    devtool: "#source-map" 
}; 

Вот мой package.json сценарий

"scripts": { 
    "start": "webpack && webpack-dev-server --inline --port 9876", 
    "typings": "typings", 
    "postinstall": "typings install" 
    }, 

Вот entire code

ответ

1

If вы используете его без --hot, он заставит полностью обновить (без HMR)

Например, загрузчик стиля реализует интерфейс HMR и способен исправлять изменения стиля без принудительного полного обновления.

+0

что делать, если я просто использую '--inline -hot' без какого-либо' webpack.HotModuleReplacementPlugin', то же самое, что и '--inline'? причина с или без '--hot' Я не вижу различий в поведении в моем приложении – sapy

+0

Если я правильно помню, это зависит. Через CLI он вводит 'HotModuleReplacementPlugin', но если вы настроили' devServer', то это не так. Я изменю это. –