[从`prom-client`模块导入`prom`,但已安装。如何“相应地导入prom-client”?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[从`prom-client`模块导入`prom`,但已安装。如何“相应地导入prom-client”?相关的知识,希望对你有一定的参考价值。

我正在将两个旧的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'语句does工作。但我看不出有什么区别。

Edit muddy-butterfly-codej

我如何相应地import prom-client

答案

根据您的情况就足够了

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());
);

以上是关于[从`prom-client`模块导入`prom`,但已安装。如何“相应地导入prom-client”?的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus summary.observe 方法有啥作用?

sql server prometheus 监控

普罗米修斯只刮一个吊舱

Prometheus 和 Node 导出器(以毫秒为单位)

E2PROM的尺寸

“从模块导入 *” VS “导入模块”