eslint调用cliEngine.getConfigForFile返回解析器文件路径,而不是名称或定义

let lintConfig = cliEngine.getconfigForFile(<file>);
eslint.linter.verify(source,lintConfig) 

上面的代码会导致有关找不到自定义解析器的错误。

将源文件指定为lint,getconfigForFile()在读取<projectroot>/.eslintrc.js.后返回配置对象。在该文件中,parser设置为babel-eslint。但是返回的配置将parser设置为babel-eslint文件(<projectroot>/node_modules/babel-eslint/lib/index.js)的解析路径

在使用此配置调用linter.verify时,将引发错误,指示未注册解析器。 parser设置为文件路径的位置是函数ExtractedConfig.toCompatibleObjectAsConfigFileContent

我无法确定这是错误还是故意的。在该功能中设置parser时,config.parser对象实际上是具有所有相关信息的对象,然后将其丢弃。

如果我拥有linter.setParser中的原始解析器名称,那么我可以使用parser值来.eslintrc,但这已经不见了。我可以从文件路径中将其提取出来,但这似乎真的很>。

有人知道这是否是错误吗?可以轻松解决,但这可能会导致其他问题。

我希望,如果我在读取linter.verify()文件之后使用自定义解析器调用.eslintrc,它将能够使用它,而不会抛出错误,表明它不知道解析器在哪里。 / p>

z2h5a1n5g 回答:eslint调用cliEngine.getConfigForFile返回解析器文件路径,而不是名称或定义

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3168878.html

大家都在问