我有一个mono repo项目,由两个(lerna构建的)包Base
和Libs
组成。我试图使用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()
的情况下注入这些类
1条答案
按热度按时间sd2nnvve1#
根据错误消息,未注册
ExampleService
。此代码示例在应用程序的入口点缺少所需的
import 'reflect-metadata';
字符串。将
reflect-metadata
作为第一个字符串添加到app/server/...
ts文件中。