eslint-plugin-import 未找到webpack.config 错误
问题由来
项目是需要兼容多端(web、小程序),一些组件和辅助方法使用webpack的mainFileds来区分各端兼容版本,因此一些组件文件夹内有package.json,如以下结构
| 1 | project | 
另一方面,eslint-import-resolver-webpack在加载webpack.config时,如果配置中的地址不是绝对地址时候,会拼接上packageDir(通过find-root包,找到的当前package.json所在目录)
| 1 | // https://github.com/benmosher/eslint-plugin-import/blob/master/resolvers/webpack/index.js#L342-L344 | 
而实际定义的webpack.config地址是相对/project/package.json的,这时候就会报出类似的错误。
| 1 | Error resolving webpackConfig { Error: Cannot find module '/xxx/xxx/project/src/pages/components/swiper/webpack.config.js' | 
此处已经向作者提出issue, 提问“为什么要使用packageDir加入configPath,而不是使用eslint配置的目录”
解决方案
配置绝对地址webpack.config
| 1 | // .eslintrc.js |