My file structure is:
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
My webpack.config.js looks like:
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'
}
]
}
};
I run:
webpack-dev-server --content-base dist --hot
And it builds and seems like it's working. localhost:8080 shows the expected result but hot-reload does just not work. When I change a file I can see in terminal that a rebuild is happening but nothing happens in the browser. Am I missing something in the config?
Try this:
In your
package.json
file, delete the line that contains"test" "echo \"Error: no test specified\" && exit 1"
under the scripts object, and replace it with:Then to restart your project, just use
npm start
.This worked for me when I ran into this problem.
Edit: Can you share your
package.json
file?Try adding this to webpack.config.js as well
When using
webpack-dev-server
, it builds all files internally and does not spit them out into your output path. Runningwebpack
alone, without the dev server, does the actual compilation to disk. The dev server does everything in memory which speeds up re-compilation by a lot.To fix your hot reload issue, set the content base to your source directory and enable inline-mode
Like so:
What worked for me is to write
<script src="bundle.js">
and not<script src="dist/bundle.js">
in myindex.html
file.Keeping
dist/bundle.js
as the output file works perfectly fine if you just build it usingwebpack
. But when usingwebpack-dev-server
, the static file already in the file system continues to be served, and not the latest hot replacement. It seemswebpack-dev-server
gets confused when it seesdist/bundle.js
in the html file and doesn't hot replace it, even thoughwebpack.config.js
is configured to that path.Webpack hot reloading stopped working for me as well. The solution for me was to delete the
node_modules
folder and fresh install all dependencies. Just open the parent folder ofnode_modules
in your terminal and runnpm install
I increased the max number of file changes that can be watched and it worked for me. I guess the issue for me was too many files.
source
Check your console logs if it has below error then add cors to your webpack dev server file
Ideally add below entry in you dev server js