• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

253
Views
TypeError no detectado: la clase extiende el valor #<Object> no es un constructor o es nulo, con superagent-throttle

Estoy tratando de importar el paquete npm superagent-throttle en mi proyecto de TypeScript , pero cuando lo hago, aparece este mensaje:

 Uncaught TypeError: Class extends value #<Object> is not a constructor or null

Si uso require funciona bien:

 const Throttle = require("superagent-throttle");

Pero comencé a usar Vite , que no permite require , así que tengo que usar import en su lugar.

El código al que hago referencia quiere instanciar una class es decir:

 this.throttle = new Throttle({ // set false to pause queue active: true, // how many requests can be sent every `ratePer` rate: 10000, // number of ms in which `rate` requests may be sent ratePer: 1000, // How many requests can be sent concurrently concurrent: 2 });

He probado diferentes variaciones de la declaración de import , pero ninguna de estas funciona para mí:

 import { Throttle } from "superagent-throttle"; import Throttle from "superagent-throttle"; import * as Throttle from "superagent-throttle";

Todos dan el mismo resultado: compilan bien pero fallan en tiempo de ejecución con el mismo mensaje de error (como el anterior).

El código en el archivo JS superagent-throttle parece bastante oscuro, no tengo idea de lo que está tratando de hacer, por lo que estoy luchando para tratar de entender cómo podría solucionar este problema:

Archivo del paquete: node_modules/superagent-throttle/dist/index.js :

 'use strict'; var _events = require('events'); var _events2 = _interopRequireDefault(_events); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } ... class Throttle extends _events2.default { constructor(options) { super(); // instance properties this._options({ _requestTimes: [0], _current: 0, _buffer: [], _serials: {}, _timeout: false }); ... etc ...
almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El mensaje de error apunta a _events2.default en el código infractor:

 var _events = require('events'); var _events2 = _interopRequireDefault(_events); ⋮ 👇 /* not a constructor or null */ class Throttle extends _events2.default {

El depurador revela que _events.default aparece como un objeto vacío, lo que significa que el módulo de events no está disponible. events (de Node ) normalmente no está disponible en el navegador, lo que lleva al error que observó.

Una solución es instalar un shim de events :

 npm i -S events

manifestación

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error