33const fs = require ( 'fs' ) ;
44const camelCase = require ( 'camel-case' ) ;
55const compiler = require ( 'vue-template-compiler' ) ;
6+ const CleanCSS = require ( 'clean-css' ) ;
67const styleParser = require ( './style' ) ;
78const htmlParser = require ( './html' ) ;
89const scriptParser = require ( './script' ) ;
@@ -16,6 +17,7 @@ function componentParser(templatePath: string, defaults: Object, type: string, C
1617 scriptParser ( cachedComponentContentObject . parsedContent . script , defaults , type , Cache ) . then ( parsedScriptObject => {
1718 cachedComponentContentObject . script = parsedScriptObject ;
1819 cachedComponentContentObject . script . template = cachedComponentContentObject . template ;
20+ cachedComponentContentObject . styles = parsedScriptObject . styles ;
1921 resolve ( cachedComponentContentObject ) ;
2022 } ) . catch ( error => {
2123 reject ( error ) ;
@@ -64,7 +66,12 @@ function parseContent(content: string, templatePath: string, defaults: Object, t
6466 Promise . all ( promiseArray ) . then ( resultsArray => {
6567 const template = resultsArray [ 0 ] ;
6668 const script = resultsArray [ 1 ] ;
67- const style = resultsArray [ 2 ] ;
69+ let style = '' ;
70+ if ( resultsArray [ 2 ] ) {
71+ style = resultsArray [ 2 ] ;
72+ } else {
73+ style = new CleanCSS ( { } ) . minify ( resultsArray [ 1 ] . styles ? resultsArray [ 1 ] . styles : '' ) . styles ;
74+ }
6875
6976 script . template = template ;
7077
0 commit comments