From bf914e3db02064523ece9cfebbf3ab884ab05806 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Mon, 22 Apr 2019 16:43:45 +0800 Subject: [PATCH 1/2] feat!: enable splitChunks by default even in development mode BREAKING CHANGE: This changes the output directory structures for development mode (app.js -> index.js + chunk-common.js + chunk-vendors.js). By enabling splitChunks by default, the memory usage of webpack may be greatly reduced for large multi-page projects. This commit fixes #3838 May also fix #2991 --- packages/@vue/cli-service/lib/config/app.js | 36 ++++++++++----------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/packages/@vue/cli-service/lib/config/app.js b/packages/@vue/cli-service/lib/config/app.js index ee204320a7..bbfb872624 100644 --- a/packages/@vue/cli-service/lib/config/app.js +++ b/packages/@vue/cli-service/lib/config/app.js @@ -24,26 +24,24 @@ module.exports = (api, options) => { const outputDir = api.resolve(options.outputDir) // code splitting - if (isProd && !process.env.CYPRESS_ENV) { - webpackConfig - .optimization.splitChunks({ - cacheGroups: { - vendors: { - name: `chunk-vendors`, - test: /[\\/]node_modules[\\/]/, - priority: -10, - chunks: 'initial' - }, - common: { - name: `chunk-common`, - minChunks: 2, - priority: -20, - chunks: 'initial', - reuseExistingChunk: true - } + webpackConfig + .optimization.splitChunks({ + cacheGroups: { + vendors: { + name: `chunk-vendors`, + test: /[\\/]node_modules[\\/]/, + priority: -10, + chunks: 'initial' + }, + common: { + name: `chunk-common`, + minChunks: 2, + priority: -20, + chunks: 'initial', + reuseExistingChunk: true } - }) - } + } + }) // HTML plugin const resolveClientEnv = require('../util/resolveClientEnv') From 220c2a00202af8d27d47dddea192e8ecb546cc3d Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Mon, 22 Apr 2019 17:24:28 +0800 Subject: [PATCH 2/2] fix: fix mocha tests --- packages/@vue/cli-service/lib/config/app.js | 36 +++++++++++---------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/packages/@vue/cli-service/lib/config/app.js b/packages/@vue/cli-service/lib/config/app.js index bbfb872624..0fad8654fb 100644 --- a/packages/@vue/cli-service/lib/config/app.js +++ b/packages/@vue/cli-service/lib/config/app.js @@ -24,24 +24,26 @@ module.exports = (api, options) => { const outputDir = api.resolve(options.outputDir) // code splitting - webpackConfig - .optimization.splitChunks({ - cacheGroups: { - vendors: { - name: `chunk-vendors`, - test: /[\\/]node_modules[\\/]/, - priority: -10, - chunks: 'initial' - }, - common: { - name: `chunk-common`, - minChunks: 2, - priority: -20, - chunks: 'initial', - reuseExistingChunk: true + if (process.env.NODE_ENV !== 'test') { + webpackConfig + .optimization.splitChunks({ + cacheGroups: { + vendors: { + name: `chunk-vendors`, + test: /[\\/]node_modules[\\/]/, + priority: -10, + chunks: 'initial' + }, + common: { + name: `chunk-common`, + minChunks: 2, + priority: -20, + chunks: 'initial', + reuseExistingChunk: true + } } - } - }) + }) + } // HTML plugin const resolveClientEnv = require('../util/resolveClientEnv')