@@ -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