импорт `prom` из` prom-client` модуля отсутствует, но он установлен. Как я могу `импортировать Prom-Client` соответственно? - PullRequest
0 голосов
/ 10 апреля 2020

Я перевожу два старых Javascript сервиса в Typescript. Я обновил все зависимости NPM соответственно, и те, которые устарели, были заменены другими пакетами или были удалены полностью. Теперь я сталкиваюсь со следующим:

При установке пакета prom-client и использовании import prom from 'prom-client' модуль не найден. Пакет содержит index.d.ts файл для набора текста. Если я вручную добавлю папку prom-client в node_modules/@types, модуль будет найден с оператором import .

  • Я знаю, что могу использовать require () , но я использую синтаксис import везде, поэтому я предпочитаю не использовать require () .

  • Нет пакета @ types / prom-client , который есть, например, @types/express.

  • Использование NodeJS 12.16. 1 и es2020.
  • Синтаксис типа import * as prom from 'prom-client' не работает.
  • Я несколько раз пытался переустановить все пакеты безрезультатно.
  • В песочнице с кодом оператор import prom from 'prom-client' работает . Но я не вижу разницы.

Edit muddy-butterfly-codej

Как я могу import prom-client соответственно?

1 Ответ

1 голос
/ 10 апреля 2020

В вашей ситуации этого будет достаточно

import { register } from "prom-client";
import http from "http";
import express from "express";
//create a server object:
http
  .createServer(function(req, res) {
    res.write("Hello World!"); //write a response to the client
    res.end(); //end the response
  })
  .listen(8080); //the server object listens on port 8080

const app = express();

app.get("/prom-test", function(req: express.Request, res: express.Response) {
  res.send(register.metrics());
});
...