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>