gpt4 book ai didi

node.js - Node 情况下的 Typescript IOC

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:31 24 4
gpt4 key购买 nike

我想知道您将如何使用 typescript IOC 特别是 Node 应用程序。

如果是external module-based architecture应用程序中没有任何类(class)。只是纯模块,因为我的应用程序严重依赖于 node_modules。

在这种情况下我将如何集成 IOC 解决方案?有什么想法吗?

这是我想要使用 IOC 的具体案例:

我有 Mongoose 模型:

interface IStuffModel extends IStuff, mongoose.Document { }   

var Stuff= mongoose.model<IStuffModel>('Stuff', Schemas.stuffSchema);

export = Stuff;

以及相关的假类:

export class Stuff implements IStuff { 
//do stuff
}

最佳答案

How would I integrate IOC solution in such case

这是我推荐的一个非常流行的库:https://github.com/inversify/InversifyJS

外部模块

使用外部模块根本不会改变代码。而不是

kernel.bind(new TypeBinding<FooBarInterface>("FooBarInterface", FooBar));

生产

你刚刚

import {ProdFooBar} from "./prodFooBar";
kernel.bind(new TypeBinding<FooBarInterface>("FooBarInterface", ProdFooBar));

测试

import {MockFooBar} from "./mockFooBar";
kernel.bind(new TypeBinding<FooBarInterface>("FooBarInterface", MockFooBar));

关于node.js - Node 情况下的 Typescript IOC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35545695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com