| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 | | /* eslint-disable import/no-extraneous-dependencies */ |  | const path = require('path'); |  | const merge = require('deepmerge'); |  | const TextExtractPlugin = require('extract-text-webpack-plugin'); |  | const baseConfig = require('../base-webpack.config'); |  | const SpritePlugin = require('../../plugin'); |  |   |  | const CSSExtractor = new TextExtractPlugin('[name].css'); |  | const HTMLExtractor = new TextExtractPlugin('[name].html'); |  |   |  | const config = merge(baseConfig, { |  |   context: __dirname, |  |   |  |   entry: './main', |  |   |  |   output: { |  |     path: path.resolve(__dirname, 'build') |  |   }, |  |   |  |   module: { |  |     rules: [ |  |       { |  |         test: /\.svg$/, |  |         loader: 'svg-sprite-loader', |  |         options: { |  |           extract: true, |  |           spriteFilename: 'sprite-[hash:6].svg' |  |         } |  |       }, |  |       { |  |         test: /\.css$/, |  |         loader: CSSExtractor.extract({ use: 'css-loader' }) |  |       }, |  |       { |  |         test: /\.html$/, |  |         loader: HTMLExtractor.extract({ use: 'html-loader' }) |  |       } |  |     ] |  |   }, |  |   |  |   plugins: [ |  |     CSSExtractor, |  |     HTMLExtractor, |  |     new SpritePlugin() |  |   ] |  | }); |  |   |  | module.exports = config; | 
 |