写Vue2项目时,使用svg-sprite-loader引入icon,遇到了Require statement not part of import statement.(@typescript-eslint/no-var-requires)
报错。这种情况下,如果没有影响到代码功能实现,可以选择直接webStorm禁止or命令行关闭提示,眼不见心不烦,或者也可以根据提示修改代码或者配置,我这边是修改了配置文件来解决问题。
错误显示中已经提示了问题是require部分没有通过import引入,且是@typescript-eslint/no-var-requires检查规则造成:
Require statement not part of import statement.(@typescript-eslint/no-var-requires)
vue.config.js中造成问题的代码为:
const path = require('path')
config.plugin('svg-sprite').use(require('svg-sprite-loader/plugin'), [{plainSprite: true}])
解决方式
(1).eslintrc.js中的 rules 属性新增以下内容:
// 让.eslintrc.js文件略过@typescript-eslint/no-var-requires检查
rules: {
'@typescript-eslint/no-var-requires': 0
},
(2)如果个依赖包版本支持的话,也可以将require的部分改为import引入方式解决