webpack-dev-server热重新加载不起作用

我的文件结构是:

dist css style.css index.html js bundle.js src css style.css index.html js main.js node_modules webpack.config.js package.json 

我的webpack.config.js看起来像:

 module.exports = { entry: './src/js/main.js', output: { path: __dirname, filename: './dist/js/bundle.js' }, module: { loaders: [ { test: /\.js$/, exclude: /(node_modules)/, loader: 'babel', query: { presets: ['es2015'] } }, { test: /\.vue$/, loader: 'vue' } ] } }; 

我运行:

 webpack-dev-server --content-base dist --hot 

它build立,似乎是在工作。 localhost:8080显示预期的结果,但热重载不起作用。 当我改变一个文件,我可以在terminal上看到重build正在发生,但浏览器中没有任何反应。 我缺lessconfiguration中的东西吗?

当使用webpack-dev-server ,它会在内部构build所有文件, 而不会将它们吐出到输出path中。 单独运行webpack ,没有开发服务器,实际编译到磁盘。 dev服务器在内存中执行所有的操作,加快了重新编译的速度。

要解决您的热重新加载问题,请将内容库设置为源目录并启用内联模式

像这样:

 webpack-dev-server --content-base src --hot --inline 

我的工作是在我的index.html文件中写<script src="bundle.js">而不是<script src="dist/bundle.js">

 // index.html <script src="bundle.js"></script> // works <script src="dist/bundle.js"></script> // doesn't work! 

保持dist/bundle.js作为输出文件工作完全正常,如果你只是使用webpack构build它。 但是当使用webpack-dev-server ,文件系统中已经存在的静态文件将继续被提供,而不是最新的热replace文件。 看来webpack-dev-server在html文件中看到dist/bundle.js时会感到困惑,即使将webpack.config.jsconfiguration为该path,也不会热replace它。

– 在线 – 热对我来说不是问题

如果你正在使用REDX可以试试这个。

由于一些随机的原因, redux-devtools不允许我重新加载。 尝试从根组件中删除它,并减lessredux composeconfiguration。

注意:在商店configuration中使用这个configuration使用redux devtool浏览器扩展: window.devToolsExtension ? window.devToolsExtension() : f => f window.devToolsExtension ? window.devToolsExtension() : f => f

此外,必须阅读: https : //medium.com/@rajaraodv/webpacks-hmr-react-hot-loader-the-missing-manual-232336dc0d96#.ejpsmve8f

或者尝试重新加载3:例如: https : //github.com/gaearon/redux-devtools/commit/64f58b7010a1b2a71ad16716eb37ac1031f93915

尝试这个:

在你的package.json文件中,删除包含"test" "echo \"Error: no test specified\" && exit 1"在脚本对象下"test" "echo \"Error: no test specified\" && exit 1" ,并用下面的代替:

 ... "scripts": { "start": "webpack-dev-server --hot" }, ... 

然后重新启动你的项目,只需使用npm start

当我遇到这个问题时,这对我有效。

编辑:你可以分享你的package.json文件?

尝试添加到webpack.config.js以及

 devServer: { inline: true, port: 3000, hot: true },