我正在尝试为反应原生的应用程序实现raygun。我遇到了开玩笑的问题,并且我不确定最佳方法,因为窗口不存在。在我的package.json中,我已经添加了以下内容:
"globals": {
"window": {}
}
我收到以下错误,但我无法解决此问题:
ReferenceError: raygunUtilityFactory is not defined
根据文档,这是一个非常基本的实现: https://raygun.com/docs/languages/javascript#reactnative
我认为这是开玩笑的但是在github上搜索了,这里和google我仍然无法解决这个问题。
答案 0 :(得分:1)
Raygun4JS当前在非浏览器环境中无法正常工作。最好的选择是不要在测试环境中包含Raygun4JS代码(这是我们在Raygun所做的事情),但是使用NPM的UMD模块会更加复杂(我们使用代码段方法动态注入它)。
我认为问题源于window
而不是Jest与浏览器中的全局对象,我们间接调用了窗口对象以调用raygunUtilityFactory
。您正在使用jsdom
测试环境吗?我们在jestconfig.json中也有相同的window
定义,并将某些变量导出到我们的setupframework.js文件的window
中,这些变量可以通过全局对象间接访问,并且看起来可以正常工作。