Concur-Replica 项目使用教程

随笔2个月前发布 爱的迷城
32 0 0

Concur-Replica 项目使用教程

concur-replicaServer-side VDOM UI framework for Concur项目地址:https://gitcode.com/gh_mirrors/co/concur-replica

1. 项目的目录结构及介绍

Concur-Replica 项目的目录结构如下:




concur-replica/


├── examples/


├── misc/


├── src/


│   └── Concur/


├── .gitignore


├── LICENSE


├── README.md


├── concur-replica.cabal


├── package.yaml


└── stack.yaml

examples/: 包含项目的示例代码。misc/: 包含一些杂项文件。src/Concur/: 包含项目的主要源代码。.gitignore: Git 忽略文件配置。LICENSE: 项目许可证文件。README.md: 项目说明文档。concur-replica.cabal: Cabal 构建文件。package.yaml: Haskell 包描述文件。stack.yaml: Stack 构建配置文件。

2. 项目的启动文件介绍

项目的启动文件位于 examples/ 目录下,例如 examples/counter.hs。以下是一个简单的启动文件示例:




{-# LANGUAGE OverloadedStrings #-}


module Main where


import Concur.Core


import Concur.Replica


import Prelude hiding (div)


 


counter :: Int -> Widget HTML a


counter x = do


  click <- div [] [


    Left <$> div [ onClick ] [ text "-" ],


    text $ T.pack $ show x,


    Right <$> div [ onClick ] [ text "+" ]


  ]


  case click of


    Left _ -> counter (x - 1)


    Right _ -> counter (x + 1)


 


main :: IO ()


main = runDefault 8080 "Counter" (counter 0)

counter.hs: 一个简单的计数器示例,展示了如何使用 Concur-Replica 创建一个交互式 UI。

3. 项目的配置文件介绍

stack.yaml

stack.yaml 文件是 Stack 构建工具的配置文件,用于定义项目的依赖和构建选项。以下是一个简化的示例:




resolver: lts-18.0


packages:


- .


extra-deps: []


flags: {}


extra-package-dbs: []

resolver: 指定使用的 Stackage 解析器版本。packages: 指定项目包的路径。extra-deps: 额外的依赖包。flags: 包的编译标志。extra-package-dbs: 额外的包数据库。

package.yaml

package.yaml 文件是 Haskell 包描述文件,用于定义项目的元数据和依赖。以下是一个简化的示例:




name: concur-replica


version: 0.1.0.0


synopsis: Server-side VDOM UI framework for Concur


description: Server-side VDOM UI framework for Concur


license: BSD3


author: Peter Kamenarsky


maintainer: pkamenarsky@gmail.com


copyright: 2021 Peter Kamenarsky


category: Web


dependencies:


- base >= 4.7 && < 5


- concur-core


- replica


library:


  source-dirs: src


  exposed-modules:


    - Concur.Replica


executables:


  concur-replica-examples:


    main: Main.hs


    source-dirs: examples


    dependencies:


      - concur-replica

name: 项目名称。version: 项目版本。synopsis: 项目简述。description: 项目描述。license: 项目许可证。author: 项目作者。maintainer: 项目维护者。copyright: 项目版权信息。category: 项目分类。dependencies: 项目依赖。library: 库部分,定义源代码目录和暴露的模块。executables: 可执行文件部分,定义主文件和依赖。

通过以上介绍,您可以更好地理解和使用 Concur-Replica 项目。

concur-replicaServer-side VDOM UI framework for Concur项目地址:https://gitcode.com/gh_mirrors/co/concur-replica

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...