2016-06-09 133 views
2

我有用Typescript,ReactJS和Webpack構建的前端應用程序。
我正在嘗試啓用HMR。
這些都是基本的腳本Typescript和HMR不起作用

"build": "NODE_ENV=production $(npm bin)/webpack --watch", 
"dev": "$(npm bin)/nodemon --exec \"$(npm bin)/ts-node\" ./server/server.ts || npm run build", 

這是我的TS-裝載機

{ test: /\.tsx?$/, loader: 'awesome-typescript-loader' } 

而且我開發服務器配置

if (NODE_ENV === 'development') { 
    let webpack = require('webpack') 
    const webpackConfig = require('../webpack.config') 
    const compiler = webpack(webpackConfig) 

    app.use(require('webpack-dev-middleware')(compiler, { 
    noInfo: true, publicPath: webpackConfig.output.publicPath 
    })) 
    app.use(require('webpack-hot-middleware')(compiler)) 
} 

我不能拿到過錯誤

[HMR] The following modules couldn't be hot updated: (Full reload needed) 
This is usually because the modules which have changed (and their parents) do not know how to hot reload themselves. See http://webpack.github.io/docs/hot-module-replacement-with-webpack.html for more details. 

回答

4

有同樣的問題,並通過添加react-hot-loader修復它,可以使用npm install --save-dev react-hot-loader進行安裝。

你的配置應該是這樣的:

{ test: /\.tsx?$/, loaders:['react-hot', 'awesome-typescript-loader'] }