@@ -9,34 +9,37 @@ module.exports = code => code
99// from within vue files and transform it into appropriate requests
1010module . exports . pitch = function ( remainingRequest ) {
1111 const query = qs . parse ( this . resourceQuery . slice ( 1 ) )
12- if ( query . vue != null ) {
13- // Inject style-post-loader before css-loader for scoped CSS and trimming
14- if ( query . type === `style` ) {
15- const cssLoaderIndex = this . loaders . findIndex ( l => / \/ c s s - l o a d e r / . test ( l . request ) )
16- if ( cssLoaderIndex ) {
17- const afterLoaders = this . loaders . slice ( 1 , cssLoaderIndex + 1 ) . map ( l => l . request )
18- const beforeLoaders = this . loaders . slice ( cssLoaderIndex + 1 ) . map ( l => l . request )
19- const request = '-!' + [
20- ...afterLoaders ,
21- stylePostLoaderPath ,
22- ...beforeLoaders ,
23- this . resourcePath + this . resourceQuery
24- ] . join ( '!' )
25- // use cjs to ensure exports from (vue-)style-loader/css-loader are intact
26- return `module.exports = require(${ loaderUtils . stringifyRequest ( this , request ) } )`
27- }
28- }
2912
30- // for templates: inject the template compiler
31- if ( query . type === `template` ) {
32- const beforeLoaders = this . loaders . slice ( 1 ) . map ( l => l . request )
13+ if ( query . vue == null ) {
14+ return
15+ }
16+
17+ // Inject style-post-loader before css-loader for scoped CSS and trimming
18+ if ( query . type === `style` ) {
19+ const cssLoaderIndex = this . loaders . findIndex ( l => / \/ c s s - l o a d e r / . test ( l . request ) )
20+ if ( cssLoaderIndex ) {
21+ const afterLoaders = this . loaders . slice ( 1 , cssLoaderIndex + 1 ) . map ( l => l . request )
22+ const beforeLoaders = this . loaders . slice ( cssLoaderIndex + 1 ) . map ( l => l . request )
3323 const request = '-!' + [
34- templateLoaderPath + `??vue-loader-options` ,
24+ ...afterLoaders ,
25+ stylePostLoaderPath ,
3526 ...beforeLoaders ,
3627 this . resourcePath + this . resourceQuery
3728 ] . join ( '!' )
38- // the template compiler uses esm exports
39- return `export * from ${ loaderUtils . stringifyRequest ( this , request ) } `
29+ // use cjs to ensure exports from (vue-)style-loader/css-loader are intact
30+ return `module.exports = require( ${ loaderUtils . stringifyRequest ( this , request ) } ) `
4031 }
4132 }
33+
34+ // for templates: inject the template compiler
35+ if ( query . type === `template` ) {
36+ const beforeLoaders = this . loaders . slice ( 1 ) . map ( l => l . request )
37+ const request = '-!' + [
38+ templateLoaderPath + `??vue-loader-options` ,
39+ ...beforeLoaders ,
40+ this . resourcePath + this . resourceQuery
41+ ] . join ( '!' )
42+ // the template compiler uses esm exports
43+ return `export * from ${ loaderUtils . stringifyRequest ( this , request ) } `
44+ }
4245}
0 commit comments