Использование библиотеки рабочего процесса javascript в проекте среднего стека
Я разработал веб-приложение, которое представляет собой форум QA с использованием подхода среднего стека. В настоящее время проект работает, и я реализовал основные требования, такие как аутентификация при входе в систему с использованием passportjs, а затем хранение вопросов, ответов, голосов и т. Д. В mongodb с использованием mongoose.
Теперь мне нужно добавить конечный автомат, такой как рабочий процесс, программно во весь проект, где каждый модуль (например, модуль.login) будет действовать как состояние. И поток для них должен быть определен.
Я изучил движки JavaScript, такие как workflow-4-node, bpmn.js, turbine.js. Поэтому мой вопрос заключается в том, как мне использовать эти библиотеки без изменения какого-либо кода моего проекта. Есть ли какой-то особый подход для этого или я должен изменить весь мой код для реализации рабочего процесса.
Также в моем проекте я использую ui.router(модуль маршрутизации для angularjs) для переключения между различными страницами и контроллерами (используя $stateProvider). Итак, эта маршрутизация, которую я реализовал, и конечный автомат, такой как рабочий процесс, который мне требуется сделать, одинаковы (разные термины, но одна и та же концепция) или они разные?
1 ответ
NoFlo 0.8 обеспечивает asCallback
интерфейс, позволяющий пользователям встраивать графики NoFlo в существующий код JavaScript.
Итак, если вы определили график NoFlo для определенного рабочего процесса, вы можете включить его в свое приложение JavaScript следующим образом:
// 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
});