工程结构 封面
Vapor 大型教程

工程结构

模板项目启动后,先看清目录比直接改代码更省时间。这里对照 Package.swift、Sources、Tests 和配置文件,说明各自负责什么。

目录结构一览

$ pwd
/Users/joker/Desktop/vapor/HelloVapor
$ brew install tree
$ tree .
.
├── Dockerfile
├── Package.resolved
├── Package.swift
├── Public
├── Sources
│   ├── App
│   │   ├── Controllers
│   │   ├── configure.swift
│   │   └── routes.swift
│   └── Run
│       └── main.swift
├── Tests
│   └── AppTests
│       └── AppTests.swift
└── docker-compose.yml

7 directories, 8 files

Vapor 使用 Swift Package Manager(SPM) 作为依赖管理系统,类似 iOS 平台上的 Cocoapods。配置好的 Vapor 项目可以调用 swift 工具链编译链接,生成可执行程序或三方库。

一个 SPM 项目定义在 Package.swift 文件中,里面声明了目标(Target)、依赖(Dependencies),以及它们如何被链接在一起。项目布局也和传统 Xcode 项目有所不同。

Source 与模块

Source 目录存放源文件,Package.swift 中定义的每个 Target 都对应 Source 下的一个子模块目录。模板项目声明了两个子模块:App 和 Run。

Tests 与测试模块

Tests 存放所有测试子模块,Package.swift 中定义的每个 testTarget 对应一个测试子模块,专门用来测试 Sources 中对应的应用子模块。

其它文件

生成可在 Xcode 中开发的工程

之前我们一直在命令行下运行 Vapor。如果在 macOS 下,也可以用 Vapor 生成 Xcode 工程,直接用 Xcode 开发:

$ cd HelloVapor
$ vapor xcode
Opening project in Xcode.

本系列其他文章