我的项目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
.这不太理想.
我认为以下链接可以帮助您.您可以使用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知道它.
看到这个问题太迟了.实际上,已经有一个名为eslint-import-resolver-alias的解析器,它使用以下设置实现此功能.
{ settings: { 'import/resolver': { 'alias': [ ['main/src', './main/src'] ] } } }
我遇到了类似的问题:ESLint
无法解析相对于"baseUrl": "src"
我的指令导入的模块tsconfig.json
。
设法以类似于标记为解决方案答案的方式解决问题,除了我必须添加extensions数组。因此,我在我的内容中添加了以下内容.eslintrc.js
:
settings: { 'import/resolver': { node: { extensions: ['.js', '.jsx', '.ts', '.tsx'], paths: ['./src'] } } },
希望这对某人有帮助。我的解决方案的来源实际上是软件包的npm page。