Watch and WatchOptions

webpack can watch files and recompile whenever they change. This page explains how to enable this and a couple of tweaks you can make if watching does not work properly for you.

watch

boolean

Turn on watch mode. This means that after the initial build, webpack will continue to watch for changes in any of the resolved files. Watch mode is turned off by default:

watch: false
In webpack-dev-server and webpack-dev-middleware watch mode is enabled by default.

watchOptions

object

A set of options used to customize watch mode:

watchOptions: {
  aggregateTimeout: 300,
  poll: 1000
}

watchOptions.aggregateTimeout

number

Add a delay before rebuilding once the first file changed. This allows webpack to aggregate any other changes made during this time period into one rebuild. Pass a value in milliseconds:

aggregateTimeout: 300 // The default

watchOptions.ignored

For some systems, watching many file systems can result in a lot of CPU or memory usage. It is possible to exclude a huge folder like node_modules:

ignored: /node_modules/

It is also possible to use anymatch patterns:

ignored: "files/**/*.js"

watchOptions.poll

boolean number

Turn on polling by passing true, or specifying a poll interval in milliseconds:

poll: 1000 // Check for changes every second
If watching does not work for you, try out this option. Watching does not work with NFS and machines in VirtualBox.