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;
|
|