Skip to content
Serves a webpack app. Updates the browser on changes. Documentation
JavaScript Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github docs: added browser option in issue template (#2100) Jul 8, 2019
bin fix(server): fix setupExitSignals usage (#2181) Aug 8, 2019
client-src test(e2e): More e2e test improvements (#2163) Aug 8, 2019
examples refactor(eslint): make global-require to off (#2137) Jul 22, 2019
lib refactor: minor typo (#2185) Aug 13, 2019
ssl generate ssl certs per instance Jun 13, 2017
test feat(server): add transportMode (#2116) Aug 8, 2019
.editorconfig maint only mode Jan 5, 2018
.eslintignore refactor(client): create log module into utils (#1953) Jun 3, 2019
.eslintrc refactor(eslint): make global-require to off (#2137) Jul 22, 2019
.gitattributes Fix inconsistencies in newlines at end of files Aug 31, 2016
.gitignore test(e2e): More e2e test improvements (#2163) Aug 8, 2019
.prettierignore refactor(client): create log module into utils (#1953) Jun 3, 2019
.prettierrc.js style: introduce prettier (#1647) Feb 4, 2019
.versionrc chore(standard-version): add .versionrc to hide test's section (#2027) Jun 17, 2019 chore(release): 3.8.0 Aug 9, 2019 docs(contribution): add CLA section (#1963) Jun 17, 2019
LICENSE Update License to match with webpack/webpack Dec 7, 2016 docs: update test badge (#1855) May 8, 2019
azure-pipelines.yml ci: npm audit and lint commit message (#1880) May 15, 2019
babel.config.js chore(babel): use api.cache (#2157) Jul 29, 2019
commitlint.config.js ci: npm audit and lint commit message (#1880) May 15, 2019
globalSetupTest.js test: don't use --runInBand and improve execution performance (#2007) Jun 10, 2019
husky.config.js chore: refactor lint and prettier commands (#1888) May 16, 2019
jest.config.js test(e2e): improve puppeteer argument flags (#2127) Jul 23, 2019
lint-staged.config.js chore(deps): update husky and lint-staged (#2124) Jul 17, 2019
package-lock.json chore(deps): update dependency jest to ^24.9.0 (master) (#2201) Aug 16, 2019
package.json chore(deps): update dependency jest to ^24.9.0 (master) (#2201) Aug 16, 2019
renovate.json chore(renovate): update config (#2030) Jun 15, 2019
setupTest.js refactor: tests (#1986) Jun 6, 2019
tsconfig.json refactor: added type checking using comments (#2107) Jul 27, 2019

npm node deps tests coverage chat downloads contributors


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.

Table of Contents

Getting Started

First things 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:

With the CLI

The easiest way to use it is with the CLI. In the directory where your webpack.config.js is, run:


Note: Many CLI options are available with webpack-dev-server. Explore this link.

With NPM Scripts

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.

The Result

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.

Browser Support

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 a 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 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, or 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 for more information on how to get involved.


This project is heavily inspired by peerigon/nof5.



You can’t perform that action at this time.