目录结构
Vapor 的目录结构是基于 SPM 目录结构构建的。
.
├── Public
├── Sources
│ ├── App
│ │ ├── Controllers
│ │ ├── Models
│ │ ├── boot.swift
│ │ ├── configure.swift
│ │ └── routes.swift
│ └── Run
│ └── main.swift
├── Tests
│ └── AppTests
└── Package.swift
接下来介绍每一个目录和文件都做了什么
Public
包含任何可以公开访问的文件,包括一些图片,style sheets和脚本
当Vapor响应request请求的时候,会首先检查被请求的文件是否在该目录下。如果存在,它将忽略应用逻辑并且立即返回该文件。
比如,localhost:8080/favicon.ico
请求将会检查 Public/favicon.ico
是否存在。如果存在,Vapor将直接返回该文件。
Sources
包含所有Swift源码,最顶级目录(App
和Run
)对应package's modules
App
这是最重要的目录,因为所有应用逻辑都将存放于这里。
Controllers
Controllers 能很好地将应用逻辑进行分类。大多数 controller 有很多方法用来接收 request 并返回对应的 response 。
Models
Models
目录用来存放 Content结构或 Fluent Models
boot.swift
此文件包含了一个方法,该方法在应用被启动后,但在开始运行之前将会被调用。应用启动的时候你可以在这里做些处理。
你可以访问Application
在这里你可以创建任何想要的 services
configure.swift
此文件包含了一个方法,该方法接受 config、environment 和 services 作为输入参数。在这里可以更改 config 或者 注册 services 。
routes.swift
此文件包含一个方法,该方法用于添加各种路由。
你将会注意到有一个路由示例,正如我们之前所见,它返回了 "hello, world" response。
你可以创建任意多的路由集合,只需要确认在主路由集合中注册它们即可。
Tests
Sources
目录中每个非可执行的 module
都在 ...Tests
目录下有对应的测试文件。
AppTests
此目录包含了 App
module 的测试用例
Package.swift
SPM文件管理
网友评论