From 45ef495c19aff12b6f758baa6a089600a2f7e951 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Tue, 3 Oct 2017 11:38:28 +0200 Subject: [PATCH] Add config option for watch polling. --- template/build/dev-server.js | 6 +++++- template/config/index.js | 9 +++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/template/build/dev-server.js b/template/build/dev-server.js index af76f3e6a6..411a6395ea 100644 --- a/template/build/dev-server.js +++ b/template/build/dev-server.js @@ -28,7 +28,11 @@ const compiler = webpack(webpackConfig) const devMiddleware = require('webpack-dev-middleware')(compiler, { publicPath: webpackConfig.output.publicPath, - quiet: true + quiet: true, + watchOptions: !config.dev.poll ? undefined : { + aggregateTimeout: 300, + poll: true, + } }) const hotMiddleware = require('webpack-hot-middleware')(compiler, { diff --git a/template/config/index.js b/template/config/index.js index da62ed3bb5..779c1841ff 100644 --- a/template/config/index.js +++ b/template/config/index.js @@ -20,7 +20,7 @@ module.exports = { // View the bundle analyzer report after build finishes: // `npm run build --report` // Set to `true` or `false` to always turn it on or off - bundleAnalyzerReport: process.env.npm_config_report + bundleAnalyzerReport: process.env.npm_config_report, }, dev: { env: require('./dev.env'), @@ -34,6 +34,11 @@ module.exports = { // (https://github.com/webpack/css-loader#sourcemaps) // In our experience, they generally work as expected, // just be aware of this issue when enabling this option. - cssSourceMap: false + cssSourceMap: false, + // In some environments (e.g. Folders in dropbox or similar services) + // Webpack's file watcher doesn't work correctly in its default mode, + // and consequently, HMR doesn't work as well. + // Switching to 'poll' mode solves this for a lot of scenarios. + poll: false } }