@@ -70,26 +70,31 @@ module.exports = function genStyleInjectionCode (
70
70
}
71
71
}
72
72
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 )
75
75
// explicit injection is needed in SSR (for critical CSS collection)
76
76
// or in Shadow Mode (for injection into shadow root)
77
77
// In these modes, vue-style-loader exports objects with the __inject__
78
78
// method; otherwise we simply import the styles.
79
79
if ( ! needsExplicitInjection ) {
80
80
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
+ }
84
87
} )
85
88
} else {
86
89
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
+ }
93
98
} )
94
99
}
95
100
0 commit comments