我开发了一个网络应用程序,它是一个使用平均堆栈方法的 QA 论坛。目前该项目正在运行,我已经实现了基本要求,例如使用 passportjs 进行登录身份验证,然后使用 mongoose 在 mongodb 中存储问题、答案、投票等。
现在,我需要以编程方式向整个项目添加一个类似工作流的状态机,其中每个模块(例如登录模块)都将作为一个状态。并且必须为他们定义一个流程。
我研究了 javascript 工作流引擎,例如 workflow-4-node、bpmn.js、turtle.js。所以我的问题是,我应该如何在不更改项目任何代码的情况下使用这些库,是否有任何特定的方法可以做到这一点,或者我是否需要更改整个代码来实现工作流程。
同样在我的项目中,我正在使用 ui.router(angularjs 的路由模块)在不同的页面和控制器之间切换(通过使用 $stateProvider)。那么我已经实现的这个路由,以及我需要做的类似状态机的工作流,是相同的(不同的术语但相同的概念)还是它们不同?