From aea253b45c9dea26e3d9b628fcbf6249a8fe96b7 Mon Sep 17 00:00:00 2001 From: rob Date: Fri, 1 Apr 2022 03:59:38 -0400 Subject: [PATCH] only load BrowserSync plugin in development mode --- webpack.config.js | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/webpack.config.js b/webpack.config.js index b6b46be..1e6d86b 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -14,24 +14,12 @@ import BrowserSyncPlugin from 'browser-sync-webpack-plugin'; const webpackMode = (process.env.NODE_ENV === 'production') ? 'production' : 'development'; console.log('Webpack mode:', webpackMode); -export default { - entry: { - 'game-app': './game/js/game-app.js', - }, - mode: webpackMode, - output: { - filename: '[name].bundle.js', - path: path.resolve(__dirname, 'dist'), - clean: true, - publicPath: '/dist', - }, - optimization: { - splitChunks: { - chunks: 'all', - }, - }, - plugins: [ - new MiniCssExtractPlugin(), +const plugins = [ ]; + +plugins.push(new MiniCssExtractPlugin()); + +if (webpackMode === 'development') { + plugins.push( new BrowserSyncPlugin( { proxy: { @@ -58,7 +46,26 @@ export default { ], }, ), - ], + ); +} + +export default { + entry: { + 'game-app': './game/js/game-app.js', + }, + mode: webpackMode, + output: { + filename: '[name].bundle.js', + path: path.resolve(__dirname, 'dist'), + clean: true, + publicPath: '/dist', + }, + optimization: { + splitChunks: { + chunks: 'all', + }, + }, + plugins, module: { rules: [ {