@@ -2,7 +2,7 @@ var path = require('path')
2
2
var webpack = require ( 'webpack' )
3
3
var ExtractTextPlugin = require ( 'extract-text-webpack-plugin' )
4
4
5
- // Basis to 'dev' and 'prod' environment
5
+ // Common to 'dev' and 'prod' environments
6
6
module . exports = {
7
7
entry : [
8
8
'./src/js/main.js'
@@ -12,6 +12,39 @@ module.exports = {
12
12
publicPath : '/dist/' ,
13
13
filename : 'build.js'
14
14
} ,
15
+ module : {
16
+ rules : [
17
+ {
18
+ test : / \. c s s $ / ,
19
+ use : [ 'style-loader' , 'css-loader' ]
20
+ } ,
21
+ {
22
+ test : / \. v u e $ / ,
23
+ loader : 'vue-loader' ,
24
+ options : {
25
+ loaders : {
26
+ }
27
+ }
28
+ } ,
29
+ {
30
+ test : / \. j s $ / ,
31
+ loader : 'babel-loader' ,
32
+ exclude : / n o d e _ m o d u l e s /
33
+ } ,
34
+ {
35
+ test : / \. ( p n g | j p g | g i f | s v g ) $ / ,
36
+ loader : 'file-loader' ,
37
+ options : {
38
+ name : '[name].[ext]?[hash]'
39
+ }
40
+ } ,
41
+ { test : / \. s v g $ / , use : 'url-loader?limit=65000&mimetype=image/svg+xml&name=public/fonts/[name].[ext]' } ,
42
+ { test : / \. w o f f $ / , use : 'url-loader?limit=65000&mimetype=application/font-woff&name=public/fonts/[name].[ext]' } ,
43
+ { test : / \. w o f f 2 $ / , use : 'url-loader?limit=65000&mimetype=application/font-woff2&name=public/fonts/[name].[ext]' } ,
44
+ { test : / \. [ o t ] t f $ / , use : 'url-loader?limit=65000&mimetype=application/octet-stream&name=public/fonts/[name].[ext]' } ,
45
+ { test : / \. e o t $ / , use : 'url-loader?limit=65000&mimetype=application/vnd.ms-fontobject&name=public/fonts/[name].[ext]' }
46
+ ]
47
+ } ,
15
48
resolve : {
16
49
alias : {
17
50
'vue$' : 'vue/dist/vue.common.js' ,
@@ -27,50 +60,19 @@ module.exports = {
27
60
// Specific to 'prod' environment
28
61
if ( process . env . NODE_ENV === 'production' ) {
29
62
30
- module . exports . module = {
31
- rules : [
32
- {
33
- test : / \. c s s $ / ,
34
- use : [ 'style-loader' , 'css-loader' ]
35
- } ,
36
- {
37
- test : / \. v u e $ / ,
38
- loader : 'vue-loader' ,
39
- options : {
40
- loaders : {
41
- }
42
- }
43
- } ,
44
- {
45
- test : / \. j s $ / ,
46
- loader : 'babel-loader' ,
47
- exclude : / n o d e _ m o d u l e s /
48
- } ,
49
- {
50
- test : / \. ( p n g | j p g | g i f | s v g ) $ / ,
51
- loader : 'file-loader' ,
52
- options : {
53
- name : '[name].[ext]?[hash]'
54
- }
55
- } ,
56
- {
57
- test : / \. l e s s $ / ,
58
- use : ExtractTextPlugin . extract ( {
59
- fallback : 'style-loader' ,
60
- use : [
61
- 'css-loader?importLoaders=1' ,
62
- 'postcss-loader' ,
63
- 'less-loader'
64
- ]
65
- } )
66
- } ,
67
- { test : / \. s v g $ / , use : 'url-loader?limit=65000&mimetype=image/svg+xml&name=public/fonts/[name].[ext]' } ,
68
- { test : / \. w o f f $ / , use : 'url-loader?limit=65000&mimetype=application/font-woff&name=public/fonts/[name].[ext]' } ,
69
- { test : / \. w o f f 2 $ / , use : 'url-loader?limit=65000&mimetype=application/font-woff2&name=public/fonts/[name].[ext]' } ,
70
- { test : / \. [ o t ] t f $ / , use : 'url-loader?limit=65000&mimetype=application/octet-stream&name=public/fonts/[name].[ext]' } ,
71
- { test : / \. e o t $ / , use : 'url-loader?limit=65000&mimetype=application/vnd.ms-fontobject&name=public/fonts/[name].[ext]' }
72
- ]
73
- }
63
+ module . exports . module . rules = ( module . exports . module . rules || [ ] ) . concat ( [
64
+ {
65
+ test : / \. l e s s $ / ,
66
+ use : ExtractTextPlugin . extract ( {
67
+ fallback : 'style-loader' ,
68
+ use : [
69
+ 'css-loader?importLoaders=1' ,
70
+ 'postcss-loader' ,
71
+ 'less-loader'
72
+ ]
73
+ } )
74
+ }
75
+ ] )
74
76
75
77
module . exports . devtool = '#source-map'
76
78
@@ -95,48 +97,18 @@ if (process.env.NODE_ENV === 'production') {
95
97
96
98
// Specific to 'dev' environment
97
99
else {
98
- module . exports . module = {
99
- rules : [
100
- {
101
- test : / \. c s s $ / ,
102
- use : [ 'style-loader' , 'css-loader' ]
103
- } ,
104
- {
105
- test : / \. v u e $ / ,
106
- loader : 'vue-loader' ,
107
- options : {
108
- loaders : {
109
- }
110
- }
111
- } ,
112
- {
113
- test : / \. j s $ / ,
114
- loader : 'babel-loader' ,
115
- exclude : / n o d e _ m o d u l e s /
116
- } ,
117
- {
118
- test : / \. ( p n g | j p g | g i f | s v g ) $ / ,
119
- loader : 'file-loader' ,
120
- options : {
121
- name : '[name].[ext]?[hash]'
122
- }
123
- } ,
124
- {
125
- test : / \. l e s s $ / ,
126
- use : [
127
- 'style-loader' ,
128
- 'css-loader?importLoaders=1' ,
129
- 'postcss-loader' ,
130
- 'less-loader'
131
- ]
132
- } ,
133
- { test : / \. s v g $ / , use : 'url-loader?limit=65000&mimetype=image/svg+xml&name=public/fonts/[name].[ext]' } ,
134
- { test : / \. w o f f $ / , use : 'url-loader?limit=65000&mimetype=application/font-woff&name=public/fonts/[name].[ext]' } ,
135
- { test : / \. w o f f 2 $ / , use : 'url-loader?limit=65000&mimetype=application/font-woff2&name=public/fonts/[name].[ext]' } ,
136
- { test : / \. [ o t ] t f $ / , use : 'url-loader?limit=65000&mimetype=application/octet-stream&name=public/fonts/[name].[ext]' } ,
137
- { test : / \. e o t $ / , use : 'url-loader?limit=65000&mimetype=application/vnd.ms-fontobject&name=public/fonts/[name].[ext]' }
100
+
101
+ module . exports . module . rules = ( module . exports . module . rules || [ ] ) . concat ( [
102
+ {
103
+ test : / \. l e s s $ / ,
104
+ use : [
105
+ 'style-loader' ,
106
+ 'css-loader?importLoaders=1' ,
107
+ 'postcss-loader' ,
108
+ 'less-loader'
138
109
]
139
- }
110
+ }
111
+ ] )
140
112
141
113
module . exports . devServer = {
142
114
historyApiFallback : true ,
0 commit comments