如何在我的反应应用程序中修复 eslint 错误“未定义 pendo”

Posted

技术标签:

【中文标题】如何在我的反应应用程序中修复 eslint 错误“未定义 pendo”【英文标题】:how to fix eslint error 'pendo is not defined' in my react application 【发布时间】:2019-08-17 23:20:17 【问题描述】:

我正在尝试在我的反应应用程序中添加 pendo sn-p 我已经包含了 javascript sn-p 并且我使用 pendo.initialize(visitor:id:'id') 我使用pendo.validateInstall() 进行验证,一切正常,但我在pendo.initialize(visitor:id:'id') 中遇到了一个eslint 错误“未定义pendo”,该错误用于我的promise 处理程序。

My screenshot is here

【问题讨论】:

ESLint 告诉你它没有被定义,因为它不知道它。它不在当前文件中,我怀疑它是某种全局的,但没有从当前位置到声明的可见性应用程序数据流的完整映射(这超出了 ESLint 的范围),它无法知道pendo 将在您的代码到达pendo.initialize 行时被声明并赋值。 可能没有在文件顶部导入模块。他们很可能有一个合适的 js 模块,所以你不必使用全局变量 ***.com/questions/44877904/… 我用这个解决了 ESLint 错误,谢谢大家的回复。 【参考方案1】:

您可以在eslint 配置中添加全局变量。

"globals": 
    "pendo": true

如果您想仅在一个文件中覆盖错误消息,请在您的 javascript 文件顶部添加以下内容。

/* global pendo */

查看 eslint 全局 documentation。

【讨论】:

【参考方案2】:

而不是使用

pendo.initialize(visitor:id:'id')

使用

window.pendo.initialize(visitor:id:'id')

【讨论】:

以上是关于如何在我的反应应用程序中修复 eslint 错误“未定义 pendo”的主要内容,如果未能解决你的问题,请参考以下文章

反应 eslint 错误中未使用的状态字段

如何使用 TSLint 查看反应脚本 ESLint 错误

如何修复我的反应应用程序中的使用位置错误?

ESLint 验证 JSX 文件

如何在我的 React linter 中修复“声明的道具类型中的错字:标题”?

无法 npm 使用 eslint 依赖项启动我的 React 项目