Vyhledávání na webu

typescript - Jak rozšířit superagent o metodu proxy?


Nenašel jsem žádné definice TypeScriptu pro superagent-proxy. Takže když se pokusím přeložit svou aplikaci TypeScript do JavaScriptu, dostanu chybovou zprávu:

ts: Vlastnost 'proxy' neexistuje u typu 'SuperAgentRequest'.

import * as request from 'superagent';
import * as withProxy from 'superagent-proxy';

withProxy(request);

request
    .get(...)
    .proxy(proxy)

Vytvořil jsem soubor s deklaracemi, ale nevím, co dál dělat.

declare module 'superagent-proxy';

Asi chci definovat nějakou vyšší řádovou funkci, která vezme superagenta a nějak vrátí superagenta s proxy.

Toto je můj nejlepší pokus doposud:

import * as request from 'superagent';

declare module 'superagent-proxy' {
    interface SuperAgentRequestWithProxy extends request.SuperAgentStatic {
        proxy(url: string): SuperAgentRequestWithProxy;
    }
}

Ale nefunguje to a ani si nejsem jistý, jestli je to alespoň přibližně správné.

Neplatný název modulu při rozšiřování. Modul 'superagent-proxy' se odkazuje na nemapovaný modul na '.../node_modules/superagent-proxy/index.js', který nelze rozšířit

Odpověď č. 1

musíte také přidat typovou závislost, samotné importování pouze závislosti super agent proxy nestačí, potřebujete mít dva importy: "superagent-proxy": "^2.1.0", pod dependencies
"@types/superagent-proxy": "^2.0.0", pod dev dependencies

Odpověď č. 2

Nainstalovat

npm i superagent
npm i superagent-proxy
npm i --save-dev suuperagent-proxy

Použít

import * as superagent from 'superagent';
import enableProxy from 'superagent-proxy';
enableProxy(superagent);

Pak :

await superagent.get(...).proxy(proxyUrl)

Související články