解决WebStorm提示TypeError: this.cliEngineCtor is not a constructor
在
Webstorm
里使用Eslint
的时候,会提示TypeError: this.cliEngineCtor is not a constructor
,这样的一个错误,知道应该是版本的错误,但具体版本怎么区别,Eslint
的版本和Webstorm
的版本如何对应,需要注意。
Eslint 6.x
如果使用的是Eslint 6.x
的版本,要保证Webstorm
的版本在2019.1.3
或更高的版本。如果你暂时不想使用更高的工具版本,就需要将Eslint
降级到 5.x
。
如果你不想降级Eslint
,也暂时不想升级开发工具,那么也可以使用修改Webstorm
的插件源码,点击右上角提示信息的Details,可以在控制台看到输出的错误信息
// 将你看到下面的这行代码改成下面的一行代码
this.cliEngine = require(this.basicPath + "lib/cli-engine");
// 替换成
this.cliEngine = require(this.basicPath + "lib/cli-engine").CLIEngine;
Eslint 8.x
如果你是在使用Eslint 8.x
的时候出现的问题,那么就需要将WebStorm
升级到2021.2.2
版本以上才可以,或是将Eslint
降级到7.x
或6.x
。
如果你不想升级开发工具,也不想降级Eslint
,那么也可以修改上面同样的插件源码。
// 可以将你看到的下面的这行代码,替换成下面的一行代码
this.cliEngineCtor = requireInContext(eslintPackagePath + "lib/api", state.packageJsonPath).CLIEngine;
// 替换成这行代码
this.cliEngineCtor = requireInContext(eslintPackagePath + "lib/cli-engine").CLIEngine;
到此,就基本上解决了相关的错误提示问题,如果还是不行,还是升级版本或降级版本吧。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Nuri Alfred - Deertech
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果