Use webpack with a development server that provides live reloading. This should be used for development only.
It uses webpack-dev-middleware under the hood, which provides fast in-memory access to the webpack assets.
Please note that webpack-dev-server
is presently in a maintenance-only mode
and will not be accepting any additional features in the near term. Most new feature
requests can be accomplished with Express middleware; please look into using
the before
and after
hooks in the documentation.
Use webpack-serve for a fast alternative. Use webpack-dev-server if you need to test on old browsers.
First thing's first, install the module:
npm install webpack-dev-server --save-dev
Note: While you can install and run webpack-dev-server globally, we recommend installing it locally. webpack-dev-server will always use a local installation over a global one.
There are two main, recommended methods of using the module:
The easiest way to use it is with the CLI. In the directory where your
webpack.config.js
is, run:
node_modules/.bin/webpack-dev-server
NPM package.json scripts are a convenient and useful means to run locally installed binaries without having to be concerned about their full paths. Simply define a script as such:
"scripts": {
"start:dev": "webpack-dev-server"
}
And run the following in your terminal/console:
npm run start:dev
NPM will automagically reference the binary in node_modules
for you, and
execute the file or command.
Either method will start a server instance and begin listening for connections
from localhost
on port 8080
.
webpack-dev-server is configured by default to support live-reload of files as you edit your assets while the server is running.
See the documentation for more use cases and options.
While webpack-dev-server
transpiles the client (browser) scripts to an ES5
state, the project only officially supports the last two versions of major
browsers. We simply don't have the resources to support every whacky
browser out there.
If you find an bug with an obscure / old browser, we would actively welcome a Pull Request to resolve the bug.
We do our best to keep Issues in the repository focused on bugs, features, and needed modifications to the code for the module. Because of that, we ask users with general support, "how-to", or "why isn't this working" questions to try one of the other support channels that are available.
Your first-stop-shop for support for webpack-dev-server should by the excellent documentation for the module. If you see an opportunity for improvement of those docs, please head over to the webpack.js.org repo and open a pull request.
From there, we encourage users to visit the webpack Gitter chat and
talk to the fine folks there. If your quest for answers comes up dry in chat,
head over to StackOverflow and do a quick search or open a new
question. Remember; It's always much easier to answer questions that include your
webpack.config.js
and relevant files!
If you're twitter-savvy you can tweet #webpack with your question and someone should be able to reach out and lend a hand.
If you have discovered a 🐛, have a feature suggestion, of would like to see a modification, please feel free to create an issue on Github. Note: The issue template isn't optional, so please be sure not to remove it, and please fill it out completely.
We welcome your contributions! Please have a read of CONTRIBUTING.md for more information on how to get involved.
Kees Kluskens |
Andrew Powell |
This project is heavily inspired by peerigon/nof5.