时隔一年时间,Vapor已经升级到了Vapor3,是时候再用用看了。去年的Vapor还不能够商用,今年已经可以用在小项目上面了,让我们拭目以待吧。先试试在MAC上面是怎么使用的。
前提
- Xcode9.3及以后版本
- Swift 4.1
在终端上输入
swift --version
可以看到电脑上面swift版本。
1.安装Vapor
使用如下命令安装。
brew install vapor/tap/vapor
安装好后,使用如下命令验证vapor版本。
vapor --version
后续想更新vapor时,使用如下
brew upgrade vapor
2.创建项目
首先,cd到你要放置项目的目录中,然后使用如下命令创建出一个项目。
vapor new Hello --branch=beta
创建好后,使用如下命令创建出Xcode能够直接运行的项目。
vapor xcode
运行完毕后,会让你选择是否马上运行xcode,输入y即可。
当xcode打开后,选择Run,然后运行,控制台会输出:
Starting server on 0.0.0.0:8080
这表明,服务已启动,打开浏览器,输入
localhost:8080/hello
即可看到返回结果。
{"hello":"world"}
使用vapor new Hello
创建时,默认创建API模板,返回的是json格式的数据,可以通过vapor new Hello --template=web
的方式修改创建的模板。
- --template=api API
- --template=web Web
更新vapor依赖
在项目中,有个一文件Package.swift
,其中,dependencies是管理vapor依赖性的,当依赖发生变化时,使用如下命令更新
vapor update
解决依赖错误
使用如下命令大多数可以解决
vapor clean
3.项目结构
结构如下图所示:
项目结构
.
├── Public
├── Sources
│ ├── App
│ │ ├── Controllers
│ │ ├── Models
│ │ ├── boot.swift
│ │ ├── configure.swift
│ │ └── routes.swift
│ └── Run
│ └── main.swift
├── Tests
│ └── AppTests
└── Package.swift
Public
公共的资源,包括图片,格式等等。响应一个请求时,最先检查该文件并返回。
比如有一个请求localhost:8080/hello.ico
会马上去检查Public/hello.ico
,如果存在,就返回。
Sources
包括了项目中所有可运行的代码。包括了App和Run两个文件夹。
App
最重要的文件夹,所有的逻辑都在这个文件夹内。
- Controllers:大多数是用于接收请求和返回一些简短的数据。
- Models:存放数据模型。
- boot.swift:启动的时候需要做的服务可以写到里面。
- configure.swift:配置文件
- routes.swift:路由文件
Tests
测试文件