在运行自定义ESLint规则时,我可以用${}变量代替字符串文字的值吗?



目前,我对使用外部变量的模板字面量的有效性进行了基本检查,这种字面量的最小示例:

const query = `
action {
...variable
}
${variable}`

这只是一个最小的例子,我所做的确切检查也不重要,重点是-有一些我想检查变量的定义内以及在我的规则,所以我想知道我是否可以代替${变量}为我的自定义ESLint规则运行的实际值。如果没有,我将求助于代码重构和简单的计数方法,但我想知道是否有一种方法可以让我的自定义ESLint规则"看到"。里面有什么

尝试使用一种更基本的方法来计算变量的不同名称,尽管在代码中的某些地方可能存在不匹配,因此它不会涵盖我希望规则检查的所有情况。也浏览了一些ESLint规则和文档的代码,但没有看到与我现在看到的类似的情况,用变量替换它们的值。也许我只是找不到他们。

一般来说,没有。在不执行代码的情况下,不能将variable替换为它的值。然而,对于某些程序子集(例如,variable被定义为const,初始化为另一个字符串),您可以在规则中进行一些静态分析。graphql eslint插件是这样做的。

最新更新