sre*_*moh 1 inversion-of-control node.js node-modules typescript
我想知道你将如何使用打字稿IOC专门节点应用程序.
在基于外部模块的体系结构的情况下,应用程序中没有任何类.只是纯模块,因为我的应用程序在很大程度上取决于node_modules.
在这种情况下,我如何整合IOC解决方案?有什么想法吗?
以下是我希望使用IOC的具体案例:
我有猫鼬模型:
interface IStuffModel extends IStuff, mongoose.Document { }
var Stuff= mongoose.model<IStuffModel>('Stuff', Schemas.stuffSchema);
export = Stuff;
Run Code Online (Sandbox Code Playgroud)
和相关的假类:
export class Stuff implements IStuff {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我如何整合IOC解决方案
这是我推荐的一个非常受欢迎的库:https://github.com/inversify/InversifyJS
使用外部模块根本不会更改代码.代替
kernel.bind(new TypeBinding<FooBarInterface>("FooBarInterface", FooBar));
Run Code Online (Sandbox Code Playgroud)
你有
import {ProdFooBar} from "./prodFooBar";
kernel.bind(new TypeBinding<FooBarInterface>("FooBarInterface", ProdFooBar));
Run Code Online (Sandbox Code Playgroud)
import {MockFooBar} from "./mockFooBar";
kernel.bind(new TypeBinding<FooBarInterface>("FooBarInterface", MockFooBar));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2308 次 |
| 最近记录: |