From ff4a5bd404bf275e369051f07887683273089335 Mon Sep 17 00:00:00 2001 From: Clark Du Date: Sat, 11 Nov 2017 20:52:45 +0800 Subject: [PATCH] feat: make extractCSS configurable --- lib/builder/webpack/base.config.js | 11 +++++++---- lib/builder/webpack/vue-loader.config.js | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index e9546072e3..812f1b50fe 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -105,10 +105,13 @@ export default function webpackBaseConfig(name) { } // CSS extraction - if (this.options.build.extractCSS) { - config.plugins.push(new ExtractTextPlugin({ - filename: this.options.build.filenames.css - })) + const extractCSS = this.options.build.extractCSS + if (extractCSS) { + const extractOptions = Object.assign( + { filename: this.options.build.filenames.css }, + typeof extractCSS === 'object' ? extractCSS : {} + ) + config.plugins.push(new ExtractTextPlugin(extractOptions)) } // Workaround for hiding Warnings about plugins without a default export (#1179) diff --git a/lib/builder/webpack/vue-loader.config.js b/lib/builder/webpack/vue-loader.config.js index f281c06fe1..72f431f5c0 100644 --- a/lib/builder/webpack/vue-loader.config.js +++ b/lib/builder/webpack/vue-loader.config.js @@ -2,7 +2,7 @@ export default function vueLoader() { // https://vue-loader.vuejs.org/en const config = { postcss: this.options.build.postcss, - extractCSS: this.options.build.extractCSS, + extractCSS: !!this.options.build.extractCSS, cssSourceMap: this.options.build.cssSourceMap, preserveWhitespace: false, loaders: {