UNPKG

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