@@ -11,38 +11,48 @@ exports.assetsPath = function (_path) {
1111
1212exports . cssLoaders = function ( options ) {
1313 options = options || { }
14+
15+ var cssLoader = {
16+ loader : 'css-loader' ,
17+ options : {
18+ minimize : process . env . NODE_ENV === 'production' ,
19+ sourceMap : options . sourceMap
20+ }
21+ }
22+
1423 // generate loader string to be used with extract text plugin
15- function generateLoaders ( loaders ) {
16- var sourceLoader = loaders . map ( function ( loader ) {
17- var extraParamChar
18- if ( / \? / . test ( loader ) ) {
19- loader = loader . replace ( / \? / , '-loader?' )
20- extraParamChar = '&'
21- } else {
22- loader = loader + '-loader'
23- extraParamChar = '?'
24- }
25- return loader + ( options . sourceMap ? extraParamChar + 'sourceMap' : '' )
26- } ) . join ( '!' )
24+ function generateLoaders ( loader , loaderOptions ) {
25+ var loaders = [ cssLoader ]
26+ if ( loader ) {
27+ loaders . push ( {
28+ loader : loader + '-loader' ,
29+ options : Object . assign ( { } , loaderOptions , {
30+ sourceMap : options . sourceMap
31+ } )
32+ } )
33+ }
2734
2835 // Extract CSS when that option is specified
2936 // (which is the case during production build)
3037 if ( options . extract ) {
31- return ExtractTextPlugin . extract ( 'vue-style-loader' , sourceLoader )
38+ return ExtractTextPlugin . extract ( {
39+ use : loaders ,
40+ fallback : 'vue-style-loader'
41+ } )
3242 } else {
33- return [ 'vue-style-loader' , sourceLoader ] . join ( '!' )
43+ return [ 'vue-style-loader' ] . concat ( loaders )
3444 }
3545 }
3646
3747 // http://vuejs.github.io/vue-loader/en/configurations/extract-css.html
3848 return {
39- css : generateLoaders ( [ 'css' ] ) ,
40- postcss : generateLoaders ( [ 'css' ] ) ,
41- less : generateLoaders ( [ 'css' , ' less'] ) ,
42- sass : generateLoaders ( [ 'css ', 'sass? indentedSyntax' ] ) ,
43- scss : generateLoaders ( [ 'css' , ' sass'] ) ,
44- stylus : generateLoaders ( [ 'css' , ' stylus'] ) ,
45- styl : generateLoaders ( [ 'css' , ' stylus'] )
49+ css : generateLoaders ( ) ,
50+ postcss : generateLoaders ( ) ,
51+ less : generateLoaders ( ' less') ,
52+ sass : generateLoaders ( 'sass ', { indentedSyntax : true } ) ,
53+ scss : generateLoaders ( ' sass') ,
54+ stylus : generateLoaders ( ' stylus') ,
55+ styl : generateLoaders ( ' stylus')
4656 }
4757}
4858
@@ -54,7 +64,7 @@ exports.styleLoaders = function (options) {
5464 var loader = loaders [ extension ]
5565 output . push ( {
5666 test : new RegExp ( '\\.' + extension + '$' ) ,
57- loader : loader
67+ use : loader
5868 } )
5969 }
6070 return output
0 commit comments