Servant Persistent 项目教程
servant-persistentA brief example of Servant with Persistent项目地址:https://gitcode.com/gh_mirrors/se/servant-persistent
1. 项目的目录结构及介绍
servant-persistent/
├── app/
│ └── Main.hs
├── assets/
├── config/
├── src/
│ ├── Application.hs
│ ├── Foundation.hs
│ ├── Import.hs
│ ├── Settings.hs
│ └── Types.hs
├── test/
├── .editorconfig
├── .gitignore
├── .hlint.yaml
├── .stylish-haskell.yaml
├── .travis.yml
├── LICENSE
├── Makefile
├── README.md
├── Setup.hs
├── deploy.sh
├── servant-persistent.cabal
├── stack.yaml
├── stack.yaml.lock
└── stylish-haskell.sh
app/: 包含项目的启动文件 Main.hs
。assets/: 存放静态资源文件。config/: 存放配置文件。src/: 包含项目的主要源代码文件。
Application.hs: 应用程序的主要逻辑。Foundation.hs: 基础设置和类型定义。Import.hs: 导入模块的统一管理。Settings.hs: 应用程序的配置设置。Types.hs: 自定义类型定义。 test/: 存放测试文件。.editorconfig: 编辑器配置文件。.gitignore: Git 忽略文件配置。.hlint.yaml: HLint 配置文件。.stylish-haskell.yaml: Stylish-Haskell 配置文件。.travis.yml: Travis CI 配置文件。LICENSE: 项目许可证。Makefile: 项目构建和任务管理。README.md: 项目说明文档。Setup.hs: 项目设置文件。deploy.sh: 部署脚本。servant-persistent.cabal: Cabal 项目配置文件。stack.yaml: Stack 项目配置文件。stack.yaml.lock: Stack 锁定文件。stylish-haskell.sh: Stylish-Haskell 脚本。
2. 项目的启动文件介绍
app/Main.hs
Main.hs
是项目的启动文件,负责初始化和启动整个应用程序。它通常包含以下内容:
module Main where
import Application (app)
import Config (loadConfig)
import Network.Wai.Handler.Warp (run)
main :: IO ()
main = do
config <- loadConfig
run 8080 (app config)
import Application (app): 导入应用程序的主要逻辑。import Config (loadConfig): 导入配置加载函数。run 8080 (app config): 使用 Warp 服务器在端口 8080 上运行应用程序。
3. 项目的配置文件介绍
config/
config/
目录包含项目的配置文件,通常包括数据库配置、日志配置等。
stack.yaml
stack.yaml
是 Stack 项目的配置文件,定义了项目的依赖、构建选项等。
resolver: lts-18.18
packages:
- .
extra-deps: []
flags: {}
extra-package-dbs: []
resolver: 指定使用的 Stackage 解析器。packages: 指定项目包。extra-deps: 额外的依赖包。flags: 包的编译标志。extra-package-dbs: 额外的包数据库。
servant-persistent.cabal
servant-persistent.cabal
是 Cabal 项目的配置文件,定义了项目的元数据、依赖、构建选项等。
name: servant-persistent
version: 0.1.0.0
synopsis: A brief example of Servant with Persistent
description: Please see the README on GitHub at <https://github.com/parsonsmatt/servant-persistent#readme>
homepage: https://github.com/parsonsmatt/servant-persistent#readme
license: MIT
author: Matt Parsons
maintainer: matt@parsonsmatt.org
copyright: (c) 2016
servant-persistentA brief example of Servant with Persistent项目地址:https://gitcode.com/gh_mirrors/se/servant-persistent