1 | const merge = require('deepmerge');
|
2 |
|
3 | module.exports = ({ config }, options = {}) => {
|
4 | const { limit } = merge({ limit: 8192 }, options);
|
5 | const urlLoader = require.resolve('url-loader');
|
6 | const svgUrlLoader = require.resolve('svg-url-loader');
|
7 |
|
8 | config.module
|
9 | .rule('svg')
|
10 | .test(/\.svg(\?v=\d+\.\d+\.\d+)?$/)
|
11 | .use('url')
|
12 | .loader(svgUrlLoader)
|
13 | .options(merge({ limit }, options.svg || {}));
|
14 |
|
15 | config.module
|
16 | .rule('img')
|
17 | .test(/\.(png|jpg|jpeg|gif)$/)
|
18 | .use('url')
|
19 | .loader(urlLoader)
|
20 | .options(merge({ limit }, options.img || {}));
|
21 |
|
22 | config.module
|
23 | .rule('ico')
|
24 | .test(/\.ico(\?v=\d+\.\d+\.\d+)?$/)
|
25 | .use('url')
|
26 | .loader(urlLoader)
|
27 | .when(options.ico, use => use.options(options.ico));
|
28 | };
|