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

Lak*_*hay 3 javascript cyclejs

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

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

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

m59*_*m59 5

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

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

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

function subComponent() {
  anotherNestedComponent()
}
// etc
Run Code Online (Sandbox Code Playgroud)

正如您在组件演练中看到的那样,BMI计算器是一个由main函数构建的组件,它使用具有自己的主函数的Labeled Slider组件.使用相同的技术,BMI计算器可以在另一个组件内输出,依此类推.通常需要隔离组件以表现为组件.

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

function main({DOM}) {
  return {DOM: view(model(intent(DOM)))};
}
Run Code Online (Sandbox Code Playgroud)

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

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