import { existsSync } from 'fs' import ChainableWebpackConfig from 'webpack-chain' import { resolve } from '../../utils/resolve' /** 注入 svg loader (替换) */ export const injectSvgModule = (config: ChainableWebpackConfig): void => { if (process.env.NODE_ENV === 'production' && !existsSync(resolve('src/assets/svgs'))) return config.module.rule('svg').exclude.add(resolve('src/assets/svgs')).end() config.module.rule('icons').include.add(resolve('src/assets/svgs')).end() config.module .rule('icons') .test(/\.svg$/) .use('svg-sprite-loader') .loader('svg-sprite-loader') .options({ symbolId: 'icon-[name]' }) .end() }