@svgr/webpack配置svgoConfig报Plugin name should be specified怎么办
报错原因
@svgr/webpack@6.0.0 内置依赖的是 SVGO v2 版本,该版本对插件配置规则做了不兼容旧版的变更:SVGO v1 支持直接将插件配置项作为对象键值的简写写法,但 v2 要求所有传入的插件必须显式声明 name 字段,未声明该字段时就会抛出 Error: Plugin name should be specified 错误。
你当前使用的是 SVGO v1 时期的旧配置写法,没有指定对应插件的名称,因此触发该报错。
解决方案
将 svgoConfig 下的插件配置调整为 SVGO v2 要求的格式,显式指定插件名,将禁用 removeViewBox 插件的配置写为标准格式即可,修改后的完整配置如下:
use: [ { loader: '@svgr/webpack', options: { svgoConfig: { plugins: [ { name: 'removeViewBox', active: false } ] } } } ]
后续如果需要配置其他 SVGO 插件,也需要遵循相同规则:先通过 name 字段指定插件名称,再传入对应的插件配置参数。
内容的提问来源于stack exchange,提问作者Deepak Negi
相关产品推荐
相关产品推荐

