Eslint在使用路径映射配置的jsfig.json时解决导入错误

以下是我的项目结构:

-src

--assets
--components
--constants
--helpers
--pages
--routes

eslintrc.json
jsconfig.json
App.js
index.js

我厌倦了:

import SomeComponent from '../../../../../components/SomeComponent';

我想做的是:

import SomeComponent from '@components/SomeComponent';

我在上面看到了这个问题,所以:

VSCode Intellisense does not work with webpack + alias

我得到了它的支持:

jsfig.json

{
  "compilerOptions": {
    "baseUrl": ".",
    "target": "es6",
    "module": "commonjs",
    "paths": {
      "@components/*": ["./src/components/*"]
     }
  }
}

但现在它抱怨它未解决,尽管它编译得很好。

eslint错误:

无法解析模块‘@components/SocialMedia’.eslint(import/no-unresolved)

的路径

注意:

我不想禁用eslint。我也想让它明白这条路。


解决方案

另一种方法,假设您已经安装了eslint-plugin-import(在您的DevDependency中)。只需将此"设置"添加到.eslintrc.json文件中。

.eslintrc.json

{
  "settings": {
    "import/resolver": {
      "node": {
        "moduleDirectory": ["node_modules", "src/"]
      }
    }
  }
}

jsfig.json

{
  "compilerOptions": {
    "baseUrl": "src"
  },
  "include": ["src"]
}

然后您只需调用

import SomeComponent from 'components/SomeComponent';`

相关文章