@@ -3,8 +3,13 @@ var ExtractTextPlugin = require('extract-text-webpack-plugin')
3
3
4
4
exports . cssLoaders = function ( options ) {
5
5
options = options || { }
6
+ var isProduction = process . env . NODE_ENV === 'production'
7
+ var cssLoader = 'css' + ( isProduction ? '?minimize' : '' )
8
+
6
9
// generate loader string to be used with extract text plugin
7
- function generateLoaders ( loaders ) {
10
+ function generateLoaders ( loader ) {
11
+ var loaders = [ cssLoader ]
12
+ if ( loader ) loaders . push ( loader )
8
13
var sourceLoader = loaders . map ( function ( loader ) {
9
14
var extraParamChar
10
15
if ( / \? / . test ( loader ) ) {
@@ -15,24 +20,29 @@ exports.cssLoaders = function (options) {
15
20
extraParamChar = '?'
16
21
}
17
22
return loader + ( options . sourceMap ? extraParamChar + 'sourceMap' : '' )
18
- } ) . join ( '!' )
23
+ } )
19
24
25
+ // Extract CSS when that option is specified
26
+ // (which is the case during production build)
20
27
if ( options . extract ) {
21
- return ExtractTextPlugin . extract ( { fallback : 'vue-style-loader' , use : sourceLoader } )
28
+ return ExtractTextPlugin . extract ( {
29
+ use : sourceLoader ,
30
+ fallback : 'vue-style-loader'
31
+ } )
22
32
} else {
23
- return [ 'vue-style-loader' , sourceLoader ] . join ( '!' )
33
+ return [ 'vue-style-loader' ] . concat ( sourceLoader )
24
34
}
25
35
}
26
36
27
- // http://vuejs.github.io/vue-loader/configurations/extract-css.html
37
+ // http://vuejs.github.io/vue-loader/en/ configurations/extract-css.html
28
38
return {
29
- css : generateLoaders ( [ 'css' ] ) ,
30
- postcss : generateLoaders ( [ 'css' ] ) ,
31
- less : generateLoaders ( [ 'css' , ' less'] ) ,
32
- sass : generateLoaders ( [ 'css' , ' sass?indentedSyntax'] ) ,
33
- scss : generateLoaders ( [ 'css' , ' sass'] ) ,
34
- stylus : generateLoaders ( [ 'css' , ' stylus'] ) ,
35
- styl : generateLoaders ( [ 'css' , ' stylus'] )
39
+ css : generateLoaders ( ) ,
40
+ postcss : generateLoaders ( ) ,
41
+ less : generateLoaders ( ' less') ,
42
+ sass : generateLoaders ( ' sass?indentedSyntax') ,
43
+ scss : generateLoaders ( ' sass') ,
44
+ stylus : generateLoaders ( ' stylus') ,
45
+ styl : generateLoaders ( ' stylus')
36
46
}
37
47
}
38
48
0 commit comments