更改代码后,我会在控制台中看到:
[HMR]已连接client.js:234
[HMR]捆绑包重建client.js:242
[HMR]捆绑包在10319毫秒内重建
但是页面上没有任何变化。奇怪的是,即使在禁用缓存的情况下进行刷新,它仍然不会改变。我必须重新启动才能看到任何更改...
tsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"noEmitOnError": true,
"module": "commonjs",
"moduleResolution": "node",
"target": "es6",
"jsx": "react",
"experimentalDecorators": true,
"sourceMap": true,
"skipDefaultLibCheck": true,
"strict": false,
"lib": [ "es6", "dom" ],
"types": [ "webpack-env" ]
},
"exclude": [
"bin",
"node_modules"
]
}
Startup.cs
...
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
// Webpack initialization with hot-reload.
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true
});
}
app.tsx
const AppModule = hot(module)(App);
function renderApp() {
ReactDOM.render(
<AppModule/>,
document.getElementById('react-app')
);
}
renderApp();
// Allow Hot Module Replacement
if (module.hot) {
module.hot.accept('./routes', () => {
routes = require<typeof RoutesModule>('./routes').routes;
renderApp();
});
}
package.json
"dependencies": {
"@babel/core": "^7.0.0-beta.46",
"@babel/plugin-syntax-decorators": "^7.0.0-beta.46",
"@babel/plugin-syntax-jsx": "^7.0.0-beta.46",
"@babel/plugin-syntax-typescript": "^7.0.0-beta.46",
"@babel/preset-env": "^7.0.0-beta.46",
"@material-ui/core": "^1.5.0",
"@material-ui/icons": "^1.0.0",
"@types/history": "4.6.0",
"@types/react": "^16.3.14",
"@types/react-dom": "^16.0.5",
"@types/react-hot-loader": "^4.1.0",
"@types/react-redux": "^6.0.0",
"@types/react-router": "^4.0.25",
"@types/react-router-dom": "^4.2.6",
"@types/react-router-redux": "^5.0.14",
"@types/webpack": "2.2.15",
"@types/webpack-env": "1.13.0",
"aspnet-prerendering": "^3.0.1",
"aspnet-webpack": "^2.0.1",
"aspnet-webpack-react": "^3.0.0",
"awesome-typescript-loader": "^3.4.1",
"aws-sdk": "^2.291.0",
"babel-core": "^6.26.0",
"babel-loader": "^6.4.1",
"crypto-js": "^3.1.9-1",
"css-loader": "0.28.4",
"domain-task": "^3.0.3",
"event-source-polyfill": "0.0.9",
"exif-js": "^2.3.0",
"extract-text-webpack-plugin": "2.1.2",
"file-loader": "^1.1.11",
"file-saver": "^1.3.8",
"history": "4.6.3",
"jquery": "^3.3.1",
"jss": "9.0.0",
"jss-preset-default": "~4.3.0",
"jwt-decode": "^2.2.0",
"moment": "^2.22.2",
"node-noop": "1.0.0",
"react": "^16.3.2",
"react-collapsible": "^2.2.0",
"react-dom": "16.3.2",
"react-hot-loader": "^4.2.0",
"react-images": "^0.5.19",
"react-md-spinner": "^0.3.0",
"react-redux": "^5.0.7",
"react-router-dom": "^4.2.2",
"react-router-redux": "5.0.0-alpha.6",
"react-select": "^2.0.0",
"react-toastify": "^4.2.0",
"redux": "^3.7.2",
"redux-thunk": "^2.2.0",
"style-loader": "0.18.2",
"typescript": "2.8.3",
"url-loader": "^0.6.2",
"webpack": "2.7.0",
"webpack-hot-middleware": "2.22.2",
"webpack-merge": "4.1.0"