我浏览了有关 Cycle.js 的官方和其他文档,我看到的唯一一点是它分离了主要逻辑及其对 DOM 的影响。
给出的示例非常简短,就像构建 BMI 计算器一样。我不明白在 Cycle.js 上开发一个大应用程序会是什么样子,我不明白如何将一个大应用程序的所有代码放入其中main()
并分别对其 DOM 效果进行通道化。
如何编写 Cycle 代码来生成大型应用程序?
我浏览了有关 Cycle.js 的官方和其他文档,我看到的唯一一点是它分离了主要逻辑及其对 DOM 的影响。
给出的示例非常简短,就像构建 BMI 计算器一样。我不明白在 Cycle.js 上开发一个大应用程序会是什么样子,我不明白如何将一个大应用程序的所有代码放入其中main()
并分别对其 DOM 效果进行通道化。
如何编写 Cycle 代码来生成大型应用程序?
我不明白如何将一个大应用程序的所有代码放在 main() 中,并分别对其 DOM 效果进行通道化。
与任何库或框架一样,您需要以较小的部分(通常称为组件)构建大型应用程序。有了循环,组件实际上只是小循环应用程序。您可以制作数百个组件,它们都有一个main
功能,并将它们组合到其他组件中等等。这很简单,就像从其他函数中组合任何函数一样:
function theWholeApp() {
subComponent()
subComponent2()
}
function subComponent() {
anotherNestedComponent()
}
// etc
正如您在组件演练中看到的,BMI Calculator 是一个从main
函数构建的组件,它使用具有自己主要功能的 Labeled Slider 组件。使用相同的技术,BMI 计算器可以在另一个组件中输出,依此类推。组件通常需要被隔离以作为组件运行。
因为您将使用 Cycle 编写的所有代码都是函数式的,所以您可以根据需要将代码分成多个或几个函数。但是,推荐的范例是model-view-intent,其中每个组件都被分成一个函数:
function main({DOM}) {
return {DOM: view(model(intent(DOM)))};
}
对于大型应用程序,您还需要路由。cycle-router
TylorS似乎是现在要走的路。Cycle 是新的,并没有像 Angular 和 React 等项目那样从社区投入中受益。由于缺乏教程、示例和各种文档(如cycle-router
. 所有这些都会随着时间的推移而得到改善,并使 Cycle 更加可行。从技术的角度来看,Cycle 是一种编写应用程序的绝妙方法,尽管在获得更多资源之前它可能并不适合所有人。
Cmdv 的这个示例项目可以帮助您入门。