2017-02-28 1 views
2

Ich habe eine Web-App entwickelt, die ein QA-Forum mit Mean-Stack-Ansatz ist. Zur Zeit läuft das Projekt und ich habe die grundlegenden Anforderungen wie Login-Authentifizierung mit Passjs implementiert und dann Fragen, Antworten, Abstimmungen etc. in Mongos mit Mungo gespeichert.JavaScript-Workflow-Bibliothek im Mean-Stack-Projekt verwenden

Jetzt bin ich verpflichtet, einen state machine like workflow programmatisch zum gesamten Projekt hinzuzufügen, wo jedes Modul (zB.login Modul) als ein Zustand handeln wird. Und ein Fluss für sie muss definiert werden.

Ich habe in JavaScript-Workflow-Engines wie Workflow-4-Knoten, bpmn.js, turbine.js untersucht. Meine Frage ist also, wie sollte ich diese Bibliotheken verwenden, ohne irgendeinen Code meines Projekts zu ändern. Gibt es einen bestimmten Ansatz dafür oder muss ich meinen gesamten Code ändern, um den Arbeitsablauf zu implementieren?

Auch in meinem Projekt verwende ich ui.router (Routing-Modul für angularjs), um zwischen verschiedenen Seiten und Controllern zu wechseln (mit $ StateProvider). Also ist dieses Routing, das ich implementiert habe, und der Zustandsmaschine-ähnliche Workflow, den ich ausführen soll, dasselbe (unterschiedliche Terminologien, aber dasselbe Konzept) oder sind sie unterschiedlich?

+0

Sie können turbineJS als Mittelschicht zwischen Ansichten und API verwenden –

Antwort

0

NoFlo 0.8 bietet eine asCallback Schnittstelle, mit der Benutzer NoFlo-Diagramme in vorhandenen JavaScript-Code einbetten können.

Also, wenn Sie ein NoFlo graph für einen bestimmten Workflow definiert haben, können Sie es zu Ihrem JavaScript App wie diese sind:

// Wrap a NoFlo graph 
var myFunc = noflo.asCallback('my-project/MyGraph'); 

// Call the wrapped graph 
myFunc({ 
    inport: 'data' 
    anotherport: 'more data' 
}, function (err, result) { 
    // Do something with the result 
});