我在我的打字项目(node@18.14.0, typescript@5.2.2, @types/node@20.6.5)的index.ts中有以下代码:

import { dlopen } from "node:process";

nodemon index.ts成功运行(我的本地插件已加载并执行)

tsc次失败,error TS2339: Property 'dlopen' does not exist on type 'Process'次失败

我看了一下,发现dlopen实际上不存在于node_modules/@types/node/process.d.ts(https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v18/process.d.ts)中,甚至不出现在整个局部和全局node_modules中(进行了文本搜索).

我猜dlopen一定以某种方式存在于NodeJS运行时中,这就是为什么nodemon index.ts可以工作,但它的类型定义就是不存在.

我如何解决/解决该问题?

推荐答案

您可以try 在项目中为dlopen函数添加一个新的本地types.d.ts声明文件:

declare module 'process' {
  export function dlopen<T = any>(module: any, filename: string, flags?: any): T;
}

Node.js相关问答推荐

如何使用Express正确跟踪服务器应用程序上的所有传出的Node.js请求

如何在node.js中以随机顺序调用函数并按顺序操作

根据我的测试,为什么在编写Varint代码方面,NodeJS要比Rust快这么多?

EJS ForEach循环标记

如何在医学中按patientId查找一个并同时插入多个数据

车把模板引擎循环问题

Node.js中使用ffmpeg如何获取视频截图的位置?

无法通过 NextJS 访问 HTTP 帖子中的正文

如何在套接字对象中存储或添加数据?

我如何保护nodejs中的路由

Mocha调用所有it回调模拟(测试中间件)

是Electron 的密码和登录凭据的安全存储吗?

配额超出了每分钟的 Sheets API 写入请求数. node .js

如何更改NodeJS中的堆栈大小限制?

Node.js 变量声明和范围

Chrome 浏览器未将 if-modified-since 标头发送到服务器

如何在 AWS 上的 Amazon Linux AMI 中自动启动 node.js 应用程序?

处理快速异步中间件中的错误

NPM:为什么要安装这个包?

什么时候应该将函数存储到变量中?