diff --git a/packages/config/src/options.js b/packages/config/src/options.js index 6abedf12a3..90973da87f 100644 --- a/packages/config/src/options.js +++ b/packages/config/src/options.js @@ -291,10 +291,6 @@ export function getNuxtConfig(_options) { options.build.optimization.minimize = !options.dev } - if (options.dev) { - options.build.extractCSS = false - } - // Enable optimizeCSS only when extractCSS is enabled if (options.build.optimizeCSS === undefined) { options.build.optimizeCSS = options.build.extractCSS ? {} : false diff --git a/packages/webpack/src/config/base.js b/packages/webpack/src/config/base.js index 13bfe40aad..ab458b88d1 100644 --- a/packages/webpack/src/config/base.js +++ b/packages/webpack/src/config/base.js @@ -327,15 +327,27 @@ export default class WebpackBaseConfig { } plugins() { - const plugins = [new VueLoader.VueLoaderPlugin()] - - Array.prototype.push.apply(plugins, this.options.build.plugins || []) + const plugins = [] // Add timefix-plugin before others plugins if (this.options.dev) { - plugins.unshift(new TimeFixPlugin()) + plugins.push(new TimeFixPlugin()) } + // CSS extraction) + if (this.options.build.extractCSS) { + plugins.push(new ExtractCssChunksPlugin(Object.assign({ + filename: this.getFileName('css'), + chunkFilename: this.getFileName('css'), + // TODO: https://github.com/faceyspacey/extract-css-chunks-webpack-plugin/issues/132 + reloadAll: true + }, this.options.build.extractCSS))) + } + + plugins.push(new VueLoader.VueLoaderPlugin()) + + Array.prototype.push.apply(plugins, this.options.build.plugins || []) + // Hide warnings about plugins without a default export (#1179) plugins.push(new WarnFixPlugin()) @@ -370,16 +382,6 @@ export default class WebpackBaseConfig { } })) - // CSS extraction) - if (this.options.build.extractCSS) { - plugins.push(new ExtractCssChunksPlugin(Object.assign({ - filename: this.getFileName('css'), - chunkFilename: this.getFileName('css'), - // TODO: https://github.com/faceyspacey/extract-css-chunks-webpack-plugin/issues/132 - reloadAll: true - }, this.options.build.extractCSS))) - } - if (this.options.build.hardSource) { plugins.push(new HardSourcePlugin(Object.assign({}, this.options.build.hardSource))) }