当前位置:  开发笔记 > 前端 > 正文

如何在eslintrc中手动添加要解析的路径

如何解决《如何在eslintrc中手动添加要解析的路径》经验,为你挑选了3个好方法。

我的项目main中有一个文件夹,我像模块一样解析.例如import x from 'main/src'进口main/src/index.js.这是通过webpack的解析别名配置完成的.

我遇到的一个问题是通过eslint摆脱错误.我知道eslint提供了一个webpack resolve插件,但是,我一直无法让它工作.我怀疑是因为我在webpack 2上并在我的webpack配置文件中使用es6.

是否有手动方式来编写解决方案来解决我的问题?


我见过的唯一其他hack工作正在使用import/core-modules但是我必须列出子目录树中的每个文件夹main/src/bar,main/src/foo.这不太理想.



1> 小智..:

我认为以下链接可以帮助您.您可以使用config添加解析目录.

https://github.com/benmosher/eslint-plugin-import#resolvers

例如,如果要解决src/,可以像下面这样写.eslintrc.

{
  "settings": {
    "import/resolver": {
      "node": {
        "paths": ["src"]
      }
    }
  }
}

然后ESLint从src目录解析.您可以src/hoge/moge.js通过写作来要求const moge = require('hoge/moge');并且ESLint知道它.



2> 小智..:

看到这个问题太迟了.实际上,已经有一个名为eslint-import-resolver-alias的解析器,它使用以下设置实现此功能.

{
  settings: {
    'import/resolver': {
      'alias': [
        ['main/src', './main/src']
       ]
     }
  }
}



3> Pavel..:

我遇到了类似的问题:ESLint无法解析相对于"baseUrl": "src"我的指令导入的模块tsconfig.json

设法以类似于标记为解决方案答案的方式解决问题,除了我必须添加extensions数组。因此,我在我的内容中添加了以下内容.eslintrc.js

  settings: {
    'import/resolver': {
      node: {
        extensions: ['.js', '.jsx', '.ts', '.tsx'],
        paths: ['./src']
      }
    }
  },

希望这对某人有帮助。我的解决方案的来源实际上是软件包的npm page。

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有