typescript TypeDI未检测到来自本地外部包的服务

vc6uscn9  于 2023-04-07  发布在  TypeScript
关注(0)|答案(1)|浏览(117)

我有一个mono repo项目,由两个(lerna构建的)包BaseLibs组成。我试图使用TypeDi依赖注入,并且在Libs项目中标记有Service()装饰器的类没有在Base容器中创建:
libs/example.js

import { Service } from 'typedi';

    @Service()
    export class ExampleService{
        //...do stuff
    }

libs/index.js

import { ExampleService } from './example';

    export { ExampleService };

base/index.js

import { Container } from 'typedi';
    import { ExampleService } from 'Libs'

    //Error thrown here "Service with "MaybeConstructable<ExampleService>" identifier was not found in the container. Register it before usage via explicitly calling the "Container.set" function or using the "@Service()" decorator."
    const xmpl = Container.get(ExampleService)

有没有办法在不显式地将所有类依赖项导入到Base项目并使用Container.set()的情况下注入这些类

sd2nnvve

sd2nnvve1#

根据错误消息,未注册ExampleService
此代码示例在应用程序的入口点缺少所需的import 'reflect-metadata';字符串。
reflect-metadata作为第一个字符串添加到app/server/... ts文件中。

相关问题