如何在NodeJS中导入“加密”系统库,因为它突然未定义?

ymdaylpp  于 2023-05-06  发布在  Node.js
关注(0)|答案(1)|浏览(168)

我从2021年开始更新了一个基于NestJS的项目,其中包含这样的导入:

import crypto from 'crypto';

现在,对于Node 18,crypto是未定义的。
这个库发生了什么,有可用的替代品吗?根据NodeJS documentation,这实际上不应该被删除。

zlwx9yxi

zlwx9yxi1#

您可以尝试通过node:crypto导入。node:命名空间是ESM的新特性。如果这不是一个ESM项目,只是NestJS + Typescript,那么你可以尝试import * as crypto from 'crypto'或尝试在tsconfig中设置syntheticDefaultImports: true。请注意,如果将esModuleInterop设置为true,则该设置已设置为true

相关问题