简介
Vapor 是一个基于纯 Swift 构建出的 Web 开发框架,目前可以运行在 macOS 和 Ubuntu ,用于构建出漂亮易用的网站或者 API 服务。
Vapor的官网做的很漂亮,文档也比较完整,是一款比较主流、优雅、更新活跃的框架,非常适合初学者。
环境配置
- Xcode 9.3
- Swift 4.1
- Vapor Toolbox: 3.1.4
安装
安装官方文档安装步骤即可。
macOS下,首先要安装Xcode9
安装Homebrew
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
安装Vapor。
1 | brew install vapor |
新建项目
创建一个名为“helloWorld”的项目。
1 | vapor new helloWorld |
vapor的文件结构类似于其他Web框架。
1 |
|
项目主体目录层级
1 | helloWorld |
编译之前需要拉取项目所有的依赖包,Vapor使用Swift Package Manager 来管理包,使用vapor fetch
命令进行拉取依赖,拉取到本地后后所有的包源码将会在 Packages 目录中,如下:
1 | CLibreSSL-1.0.0 Fluent-1.1.0 Node-1.0.1 Turnstile-1.0.3 |
这类似于iOS中使用cocoapods
管理依赖包时的pod install
。
编译和运行
使用vapor build
或者vapor build --release
编译项目
使用vapor run serve
运行项目。
这时就可以通过在浏览器中输入localhost:8080/plaintext
或者运行curl localhost:8080/plaintext
来请求模板中的示例请求。
使用Xcode
cd进入项目目录下,我们可以使用 vapor xcode命令生成Xcode项目,然后就可以直接使用 Xcode进行web开发了,这对于iOS开发者是那么的熟悉。用Xcode打开项目,选择Run
scheme来运行。
vapor模板中Routes.swift
中已经有了几个示例,例如:
1 | get("hello") { req in |
我们运行起来项目后,直接在浏览器里输入“0.0.0.0:8080/hello”这个get请求,就会返回响应的json数据。
{
hello: "world"
}
最后
vapor初步了解,感觉很不错的样子。现在我们已经了解了vapor的基本操作,下一步我们学习一下使用Heroku部署服务器。Heroku为个人用户提供了一个免费沙盒(512 MB RAM │ 1 web/1 worker),我们可以使用它免费去部署一个属于自己的服务器。访问速度是有点慢,毕竟国外免费。新开的坑,希望接下来能够慢慢填。