如何解决React项目中的“ TypeError:无法读取未定义的属性'inherits'?”

编程入门 行业动态 更新时间:2024-10-09 04:17:55

<a href=https://www.elefans.com/category/jswz/34/1771394.html style=如何解决React项目中的“ TypeError:无法读取未定义的属性'inherits'?”"/>

如何解决React项目中的“ TypeError:无法读取未定义的属性'inherits'?”

我从事React项目。我正在尝试使用npm软件包async-polling(),该软件包要使用inheritsnode-utils类;库内部有以下几行:

var inherits = hasWindow ? window.nodeUtil.inherits : require('util').inherits;
var EventEmitter = hasWindow ? window.nodeEventEmitter : require('events').EventEmitter;

当然,因为应用程序正在浏览器中运行,所以hasWindow为true。但是没有nodeUtilnodeEventEmitter。因此我得到了错误:

TypeError: Cannot read property 'inherits' of undefined

然后我尝试添加utilevents软件包并执行此操作:

window.nodeUtil = require('util');
window.nodeEventEmitter = require('events');

但是我遇到了这个错误:

TypeError: AsyncPolling is not a constructor

花药叉能够解决此问题,但我想尝试使用原始包装,是否有办法解决此问题?

回答如下:

尽我所能告诉async-polling是一个旧的,未维护的模块,您最好避免使用。您遇到了问题,因为模块期望存在两个全局变量nodeUtilnodeEventEmitter。该软件包看起来更适合于节点环境,并且依赖于浏览器中的polyfills。

我建议您找到一个最新的软件包,或者简单地使用setInterval进行轮询。

const intervalInMilliseconds = 5000;
const timerId = setInterval(() => {
  if (/* some condition is met */) {
    clearInterval(timerId);
  } else {
    // do stuff
  }
}, intervalInMilliseconds);

更多推荐

如何解决React项目中的“ TypeError:无法读取未定义的属性'inherits'?”

本文发布于:2024-05-07 13:57:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756565.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何解决   属性   未定义   项目   React

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!