如何打开Cycle代码来创建大型应用程序?

时间:2016-02-22 11:26:00

标签: javascript cyclejs

我已经阅读了有关Cycle.js的官方文件和其他文件 我看到的唯一一点是它将主逻辑及其对DOM的影响分开。

给出的例子非常简短,就像构建BMI计算器一样。我不明白如何在Cycle.js上开发一个大应用程序,我不明白如何在main()中放置一个大应用程序的所有代码并分别引导它的DOM效果。 / p>

如何编写循环代码以生成大型应用程序?

1 个答案:

答案 0 :(得分:5)

  

我不明白如何将主要应用程序的所有代码放在main()中并分别对其DOM效果进行通道化。

与任何库或框架一样,您需要以较小的部分构建大型应用程序,通常称为组件。对于循环,组件实际上只是小循环应用程序。您可以创建数百个组件,这些组件都具有main功能,并将其组合在其他组件中,依此类推。它非常简单,就像编写其他函数的任何函数一样:

function theWholeApp() {
  subComponent()
  subComponent2()
}

function subComponent() {
  anotherNestedComponent()
}
// etc

正如您在Component walkthrough中所看到的,BMI计算器是一个由main函数构建的组件,它使用具有自己主要功能的Labeled Slider组件。使用相同的技术,BMI计算器可以在另一个组件内输出,依此类推。组件通常需要isolated才能表现为组件。

因为您使用Cycle编写的所有代码都是可用的,所以您可以根据需要将代码分成多个或几个函数。但是,建议的范例是model-view-intent,其中每个组件被分为一个函数:

function main({DOM}) {
  return {DOM: view(model(intent(DOM)))};
}

对于大型应用,您还需要路由。 cycle-router by TylorS似乎是现在的方式。周期是新的,并没有像Angular和React这样的项目从社区投入中获益。由于缺少诸如cycle-router等各种内容的教程,示例和文档,目前很难开始使用。所有这些都将及时改善并使Cycle更加可行。从技术角度来看,Cycle是编写应用程序的绝佳方法,但在有更多资源可用之前,它可能对每个人都不实用。

This sample project by Cmdv可以帮助您入门。