如何在 InversifyJS 中注入你无法控制的代码
How to inject code you don't control in InversifyJS
是否可以注入无法编辑的 类?似乎 Inversify 严重依赖 annotations/decorators 但还有其他方法吗?
In some cases you may get errors about missing annotations classes
provided by a third party modul like:
Error: Missing required @injectable annotation in: SamuraiMaster
您可以使用装饰功能解决这个问题:
import { decorate, injectable } from "inversify";
import SomeClass from "some-module";
decorate(injectable(), SomeClass);
return SomeClass;
查看 JS example
维基页面上的更多信息。
您还可以查看 inversify-vanillajs-helpers 项目。
是否可以注入无法编辑的 类?似乎 Inversify 严重依赖 annotations/decorators 但还有其他方法吗?
In some cases you may get errors about missing annotations classes provided by a third party modul like:
Error: Missing required @injectable annotation in: SamuraiMaster
您可以使用装饰功能解决这个问题:
import { decorate, injectable } from "inversify"; import SomeClass from "some-module"; decorate(injectable(), SomeClass); return SomeClass;
查看 JS example 维基页面上的更多信息。
您还可以查看 inversify-vanillajs-helpers 项目。