3

我浏览了有关 Cycle.js 的官方和其他文档,我看到的唯一一点是它分离了主要逻辑及其对 DOM 的影响。

给出的示例非常简短,就像构建 BMI 计算器一样。我不明白在 Cycle.js 上开发一个大应用程序会是什么样子,我不明白如何将一个大应用程序的所有代码放入其中main()并分别对其 DOM 效果进行通道化。

如何编写 Cycle 代码来生成大型应用程序?

4

1 回答 1

5

我不明白如何将一个大应用程序的所有代码放在 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-routerTylorS似乎是现在要走的路。Cycle 是新的,并没有像 Angular 和 React 等项目那样从社区投入中受益。由于缺乏教程、示例和各种文档(如cycle-router. 所有这些都会随着时间的推移而得到改善,并使 Cycle 更加可行。从技术的角度来看,Cycle 是一种编写应用程序的绝妙方法,尽管在获得更多资源之前它可能并不适合所有人。

Cmdv 的这个示例项目可以帮助您入门。

于 2016-02-22T17:54:45.363 回答