diff --git a/src/scripts/settings/webSettings.js b/src/scripts/settings/webSettings.js index 3a87fd65de..8d1e038545 100644 --- a/src/scripts/settings/webSettings.js +++ b/src/scripts/settings/webSettings.js @@ -72,9 +72,11 @@ export function getIncludeCorsCredentials() { export function getMultiServer() { return getConfig().then(config => { - // Enable multi-server support in development environments - return process.env.NODE_ENV === 'development' // eslint-disable-line no-undef - || !!config.multiserver; + // Enable multi-server support when served by webpack + if (process.env.WEBPACK_SERVE) { // eslint-disable-line no-undef + return true; + } + return !!config.multiserver; }).catch(error => { console.log('cannot get web config:', error); return false; diff --git a/src/serviceworker.js b/src/serviceworker.js index 770f5de5c0..1f38e2e5ad 100644 --- a/src/serviceworker.js +++ b/src/serviceworker.js @@ -45,8 +45,8 @@ self.addEventListener('notificationclick', function (event) { }, false); // Do not precache files in development so live reload works as expected -/* eslint-disable-next-line no-undef -- NODE_ENV is replaced by webpack */ -if (process.env.NODE_ENV === 'production') { +/* eslint-disable-next-line no-undef -- WEBPACK_SERVE is replaced by webpack */ +if (process.env.WEBPACK_SERVE) { // this is needed by the webpack Workbox plugin /* eslint-disable-next-line no-restricted-globals,no-undef */ precacheAndRoute(self.__WB_MANIFEST); diff --git a/webpack.dev.js b/webpack.dev.js index 890dd0eac6..b66c8ddf01 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -1,5 +1,6 @@ const common = require('./webpack.common'); const { merge } = require('webpack-merge'); +const { DefinePlugin } = require('webpack'); module.exports = merge(common, { // In order for live reload to work we must use "web" as the target not "browserlist" @@ -23,6 +24,11 @@ module.exports = merge(common, { } ] }, + plugins: [ + new DefinePlugin({ + 'process.env.WEBPACK_SERVE': true + }) + ], devServer: { compress: true, client: {