如何解决引入@popperjs/core搭配ESLint时出现的Webpack意外报错
问题根因
你使用的@popperjs/core@2.10.2版本的package.json文件中内置了eslintConfig字段,该字段引用了包内部不存在的./.config/eslint.config配置文件。而你项目中的ESLint校验规则没有完全忽略对node_modules目录的扫描,所以会尝试加载popper包内的配置文件,触发报错。
解决方案(两种可选,均保留ESLint校验能力)
方案1:修改webpack配置中的ESLint排除规则(无需升级依赖)
你当前webpack.config.js中配置的ESLint插件排除规则使用了字符串格式的/node_modules/,ESLint对字符串路径的匹配逻辑为严格全等,无法覆盖所有node_modules下的文件路径,修改为正则表达式即可:
// 修改 webpack.config.js 中的 esLintLoaderOptions 配置 const esLintLoaderOptions = { extensions: [`js`, `jsx`], exclude: [ /node_modules/ // 替换原字符串规则,用正则匹配所有包含node_modules的路径 ] };
修改后重新执行npm run build即可正常编译,ESLint仍会对你的业务代码生效,仅跳过所有第三方依赖的校验。
方案2:升级@popperjs/core版本
2.11.0及以上版本的@popperjs/core已经移除了package.json中内置的eslintConfig字段,不会再触发配置加载错误,直接执行升级命令即可:
npm install @popperjs/core@2.x --save
内容的提问来源于stack exchange,提问作者Dave Barnett
相关产品推荐
相关产品推荐

