Expo项目ESLint报import/no-unresolved模块路径无法解析错误如何解决
Expo项目ESLint import/no-unresolved平台特定文件报错解决方案
该报错的核心原因是ESLint的import插件默认不会自动识别.web.js、.native.js这类Expo/React Native专属的平台扩展名,无法匹配到你导入的./property对应的实际文件,可按以下步骤修复:
步骤1:安装ESLint RN扩展名解析器
运行以下命令安装适配React Native平台扩展名的解析器依赖:
npm install eslint-import-resolver-reactnative --save-dev
如果使用yarn,执行:
yarn add eslint-import-resolver-reactnative -D
步骤2:修改ESLint配置
打开项目根目录下的.eslintrc.js(或你的ESLint对应配置文件),新增settings字段配置解析规则:
module.exports = { // 保留你项目原有的其他ESLint配置(如env、extends、rules等) settings: { 'import/resolver': { reactnative: { // 可根据项目实际使用的扩展名按需增减 extensions: [ '.js', '.jsx', '.ts', '.tsx', '.native.js', '.web.js', '.native.jsx', '.web.jsx', '.native.ts', '.web.ts', '.native.tsx', '.web.tsx' ] } } } }
配置完成后重启ESLint服务即可生效。
可选:含路径别名的补充配置
如果你的项目配置了Babel路径别名,需要额外安装eslint-import-resolver-babel-module依赖,然后在import/resolver下补充babel配置:
settings: { 'import/resolver': { reactnative: { /* 上述的扩展名配置 */ }, 'babel-module': {} } }
临时应急方案
如果仅需要临时绕过个别文件的报错,可在导入语句上方添加注释直接禁用当前行的对应规则:
// eslint-disable-next-line import/no-unresolved import PropertyIcon from './property'
内容的提问来源于stack exchange,提问作者Smart Solutions
相关产品推荐
相关产品推荐

