Die Dokumentation covers this (auch here zu sehen):
var inversify = require("inversify");
require("reflect-metadata");
var TYPES = {
Ninja: "Ninja",
Katana: "Katana",
Shuriken: "Shuriken"
};
class Katana {
hit() {
return "cut!";
}
}
class Shuriken {
throw() {
return "hit!";
}
}
class Ninja {
constructor(katana, shuriken) {
this._katana = katana;
this._shuriken = shuriken;
}
fight() { return this._katana.hit(); };
sneak() { return this._shuriken.throw(); };
}
// Declare as injectable and its dependencies
inversify.decorate(inversify.injectable(), Katana);
inversify.decorate(inversify.injectable(), Shuriken);
inversify.decorate(inversify.injectable(), Ninja);
inversify.decorate(inversify.inject(TYPES.Katana), Ninja, 0);
inversify.decorate(inversify.inject(TYPES.Shuriken), Ninja, 1);
// Declare bindings
var container = new inversify.Container();
container.bind(TYPES.Ninja).to(Ninja);
container.bind(TYPES.Katana).to(Katana);
container.bind(TYPES.Shuriken).to(Shuriken);
// Resolve dependencies
var ninja = container.get(TYPES.Ninja);
return ninja;
Cheers, ich dies völlig verfehlt, wenn die Dokumentation zu lesen – Rory
Ja Sie haben kein Wiki, wo Sie es erwarten (in GH's Wiki Abschnitt). Übrigens, wenn Sie an Angular-like DI interessiert sind, ist es [vernünftig mit Node verwendbar] (http://stackoverflow.com/a/38923612/3731501). Es wurde kürzlich von einem Mitglied des Angular-Teams aus '@ angular/core' (welches etwas Nicht-DI-Müll enthält) in ein [separates Paket] (https://github.com/mgechev/injection-js) extrahiert. – estus