我有一些使用
Object.groupBy
方法的代码。这是使用 typescript 5.5 的代码库,一切正常。
最近我尝试添加一些测试,但收到错误
Property 'groupBy' does not exist on type 'ObjectConstructor'.
Jest 设置为使用
ts-jest
来转换打字稿代码:
"jest": {
"moduleFileExtensions": [
"ts",
"tsx",
"js"
],
"transform": {
"^.+\\.(ts|tsx|js)$": [
"ts-jest",
{
"tsconfig": "<rootDir>/tsconfig.json",
"isolatedModules": true
}
]
}
tsconfig 是:
{
"compilerOptions": {
"target": "ES2018",
"module": "commonjs",
"strict": true,
"declaration": false,
"esModuleInterop": true,
"noImplicitOverride": true,
"lib": [
"ESNext",
]
},
"include": [
"src"
]
}
据我了解,我的测试代码应该使用此 tsconfig 转换为对 es2018 有效的代码,这应该得到节点 20 的完全支持。
是什么导致了我的失败?我该如何解决它?
根据 MDN,
Object.groupBy
仅在 Node.js 21.0.0 中引入。长话短说 - 您需要 Node.js 21 才能使用
Object.groupBy
,而不是 Node.js 20。