импортировать типы запросов узлов для машинописи - PullRequest
1 голос
/ 07 июня 2019

У меня есть небольшой прокси-сервер, разработанный в узле с js, и я пытаюсь переписать его в машинописном тексте.

У меня есть следующий код:

http.createServer(onRequest).listen(config.port);
console.log(`proxy listening on port ${config.port}`)

function onRequest(local_req:, local_res) {
  console.log('serve: ' + local_req.url);

  const url = config.forward_url + local_req.url
[...]

И машинописный текст жалуется на

Параметр local_req неявно имеет тип any.ts (7006) Параметр local_res неявно имеет тип any.ts (7006)

Я уже сделал npm i @types/node -D

Я вижу, что определение метода createServer выглядит следующим образом:

function createServer(options: ServerOptions, requestListener?: RequestListener): Server;

Но у меня нет определения RequestListener

Я Google и янайдите его здесь (я думал, что он должен был быть установлен npm i @types/node -D), вот так:

export function createServer(requestListener?: (request: ServerRequest, response: ServerResponse) =>void ): Server;

Затем я ищу определение ServerRequest, и оно здесь , но у меня его нет на моей машине.

Я полагаю, что определение, которое я использовал, не является тем, которое я установил с помощью npm.

Я не понимаю, какиметь дело с определениями типов узлов.

Кто-нибудь может дать мне подсказку о том, как загрузить определения типов, которые вы используете в узле?

1 Ответ

0 голосов
/ 07 июня 2019

В конце концов, я мог решить это следующим образом:

function onRequest(local_req: IncomingMessage, local_res: ServerResponse)

Но мне пришлось поискать в Google, найти другую и несовместимую версию, чем то, что я установил, и редактор (vscode) немного вводил в заблуждениеоб этом.

Интересно, есть ли лучший способ справиться с такого рода проблемами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...