@@ -70,26 +70,31 @@ module.exports = function genStyleInjectionCode (
7070 }
7171 }
7272
73- // filter out empty styles ( with no `src` specified or only contains whitespaces)
74- styles = styles . filter ( style => style . src || nonWhitespaceRE . test ( style . content ) )
73+ // empty styles: with no `src` specified or only contains whitespaces
74+ const isNotEmptyStyle = style => style . src || nonWhitespaceRE . test ( style . content )
7575 // explicit injection is needed in SSR (for critical CSS collection)
7676 // or in Shadow Mode (for injection into shadow root)
7777 // In these modes, vue-style-loader exports objects with the __inject__
7878 // method; otherwise we simply import the styles.
7979 if ( ! needsExplicitInjection ) {
8080 styles . forEach ( ( style , i ) => {
81- const request = genStyleRequest ( style , i )
82- styleImportsCode += `import style${ i } from ${ request } \n`
83- if ( style . module ) genCSSModulesCode ( style , request , i )
81+ // do not generate requests for empty styles
82+ if ( isNotEmptyStyle ( style ) ) {
83+ const request = genStyleRequest ( style , i )
84+ styleImportsCode += `import style${ i } from ${ request } \n`
85+ if ( style . module ) genCSSModulesCode ( style , request , i )
86+ }
8487 } )
8588 } else {
8689 styles . forEach ( ( style , i ) => {
87- const request = genStyleRequest ( style , i )
88- styleInjectionCode += (
89- `var style${ i } = require(${ request } )\n` +
90- `if (style${ i } .__inject__) style${ i } .__inject__(context)\n`
91- )
92- if ( style . module ) genCSSModulesCode ( style , request , i )
90+ if ( isNotEmptyStyle ( style ) ) {
91+ const request = genStyleRequest ( style , i )
92+ styleInjectionCode += (
93+ `var style${ i } = require(${ request } )\n` +
94+ `if (style${ i } .__inject__) style${ i } .__inject__(context)\n`
95+ )
96+ if ( style . module ) genCSSModulesCode ( style , request , i )
97+ }
9398 } )
9499 }
95100
0 commit comments