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