类型错误:Reflect.getMetadata 不是函数

Luc*_*ace 14 typescript nestjs

这是我启动 Nest 服务器时遇到的问题:

back-end/node_modules/@nestjs/common/decorators/core/optional.decorator.js:22
                const args = Reflect.getMetadata(constants_1.OPTIONAL_DEPS_METADATA, target) || [];
                                     ^

TypeError: Reflect.getMetadata is not a function
        at /Users/lucabento-versace/OneDrive-Ynov/Projets/3eme_annee/WEB/TrueEat/back-end/node_modules/@nestjs/common/decorators/core/optional.decorator.js:22:34
        at /Users/lucabento-versace/OneDrive-Ynov/Projets/3eme_annee/WEB/TrueEat/back-end/node_modules/@nestjs/common/node_modules/tslib/tslib.js:104:41
        at Object.__decorate (/Users/lucabento-versace/OneDrive-Ynov/Projets/3eme_annee/WEB/TrueEat/back-
end/node_modules/@nestjs/common/node_modules/tslib/tslib.js:99:99)
        at Object.<anonymous> (/Users/lucabento-versace/OneDrive-Ynov/Projets/3eme_annee/WEB/TrueEat/back-end/node_modules/@nestjs/common/services/console-logger.service.js:204:43)
        at Module._compile (internal/modules/cjs/loader.js:1085:14)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
        at Module.load (internal/modules/cjs/loader.js:950:32)
        at Function.Module._load (internal/modules/cjs/loader.js:790:12)
        at Module.require (internal/modules/cjs/loader.js:974:19)
        at require (internal/modules/cjs/helpers.js:93:18)
Run Code Online (Sandbox Code Playgroud)

我对此进行了徒劳的测试:npm i reflect-metadata 我已经查看了有关相同错误的问题,但我找不到任何解决方案

swe*_*dev 12

正如用户 @hhearts 在上面的评论中已经提到的那样,这通常可以通过将“reflect-metadata”导入全局命名空间来解决(然后您只需执行一次。

但您可以根据需要在范围内进行操作。

对于 (p)react 你可以这样做,例如作为第一次导入App.ts

import "reflect-metadata";

export const App: FunctionalComponent = () => {
    (...)
}

Run Code Online (Sandbox Code Playgroud)


POM*_*IUK 5

根据https://docs.typestack.community/typedi/v/develop/01-getting-started

在应用程序的第一行导入reflect-metadata包:

import 'reflect-metadata';
Run Code Online (Sandbox Code Playgroud)

这个对我有用:

在此输入图像描述

在此输入图像描述