问题标签 [inversifyjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 每次调用 api 时,依赖注入都会创建新对象
每次我在 inversify-express 服务器中调用 api 时,依赖项每次都会创建一个新对象
每当我调用 api 时,它每次都会创建每个依赖项的新对象
javascript - 如何在 TypeScript 中导出多个对象实例?
我正在使用依赖注入系统(inversifyJS)构建自身并在内部解决依赖关系的 TypeScript 库。我遇到的问题是-我想将注入系统中的多个实例公开给库的使用者。
目前我想做的是:
我看到的一个可能的解决方案是使用外观来导出类型并稍后访问它们:
但问题是我还有一个无用的抽象
有没有办法在不丢失类型定义和导出现成对象的情况下实现这种解决方案?
node.js - 使用 inversify-express-utils,我如何集成 websockets?
我们尝试使用 websockets 连接以扩展基于 inversify-express-utils 的typescript应用程序,但到目前为止还没有运气:
服务器按预期启动ts-node server.ts
。但我无法连接到这个网络套接字。使用多种工具进行了尝试,例如 Dark WebSocket Terminal chrome 插件和执行\connect localhost:3000
. 任何想法?
asynchronous - TypeScript InversifyJS:异步绑定
我正面临这种问题:我正在创建能够处理多个具体提供程序的事件管理器,并且我在这里遇到了依赖注入问题。
我正在使用:
Typescript@2.0.10
, node@7.0.0
, inversify@2.0.1
,inversify-binding-decorators@2.0.0
让我们在代码中看到:
控制台向我记录了事件管理器是undefined
,这会使整个应用程序崩溃。但是......当我禁用kernel.getAll(...)
from init 时,我收到的正是我所期望的:
给我:MultipleProvidersEventManager { providers: {} }
。init 方法本身非常简单,包含:
所以我的问题是我必须等待调用 init 方法,直到所有需要的对象都正确存储在 InversifyJS 容器中并且可以返回。但我不知道如何:(。有人可以解释一下我应该如何解决这个问题吗?
typescript - InversifyJS 中带参数的工厂
我将InversifyJS与 TypeScript 一起使用。
假设我有一个混合了注入和非注入构造函数参数的类:
我想将这个类的工厂注入到其他类中,然后用第一个参数的值调用它。
我的问题:Inversify 中是否有一些自动魔法可以让我注入这个工厂?
到目前为止,我想出的最好的是:
但这意味着我是明确new()
的MyClass
,并且每个新的可注入依赖项MyClass
也必须在这里添加。
有没有更好的办法?也许基于参数名称的东西,比如Ninject Factory Extensions?
node.js - 如何在 inversify 中注入异步依赖?
我有 TypeScript 应用程序,并且正在为 IoC 使用Inversify。
我有一个连接类:
创建连接后,我想将连接绑定到我的容器中:
然后我想将它注入另一个类:
因此,在我的容器配置中,如何绑定需要等待 CreateConnection 的 DefaultConnection 我可以使用 async 并等待,但我想知道是否有一种更简洁的方法可以在inversify中实现这一点
typescript - 如何创建注入和 const 实例?
类的实例A
需要获取类的实例的依赖关系O
,但对于其他类是单例。怎么做?
internet-explorer - 仅在 IE 中出现 InversifyJs 错误
我正在使用带有 webpack 的 Typescript 来创建一个 Web 应用程序。最近我切换了做 inversifyJs DI 库。
仅在 IE (11) 上出现错误:
Missing required @injectable annotation in: MyClassName
该类已注释,它不扩展任何其他类。我还包括Symbol
和Reflect-metadata
polyfills。Firefox 和 Chrome 可以正确处理一切。inversifyJs 是否与 IE 一起使用,如果可以,这种行为的原因是什么?
ecmascript-6 - 用于 ES6 的 InversifyJS
是否有任何关于将此 ico 与 ES6 而不是 Typescript 用于后端 Node/Express 的示例?我遵循了一些 Typescript 示例,但没有针对 ES6。我查看了从 Typescript 生成的 ES5,但这似乎是倒退
typescript - 如何在 InversifyJS 中注入您无法控制的代码
是否可以注入您无法编辑的类?似乎 Inversify 严重依赖注释/装饰器,但还有其他方法吗?