時(shí)隔一年時(shí)間,Vapor已經(jīng)升級(jí)到了Vapor3,是時(shí)候再用用看了。去年的Vapor還不能夠商用,今年已經(jīng)可以用在小項(xiàng)目上面了,讓我們拭目以待吧。先試試在MAC上面是怎么使用的。
前提
- Xcode9.3及以后版本
- Swift 4.1
在終端上輸入
swift --version
可以看到電腦上面swift版本。
1.安裝Vapor
使用如下命令安裝。
brew install vapor/tap/vapor
安裝好后,使用如下命令驗(yàn)證vapor版本。
vapor --version
后續(xù)想更新vapor時(shí),使用如下
brew upgrade vapor
2.創(chuàng)建項(xiàng)目
首先,cd到你要放置項(xiàng)目的目錄中,然后使用如下命令創(chuàng)建出一個(gè)項(xiàng)目。
vapor new Hello --branch=beta
創(chuàng)建好后,使用如下命令創(chuàng)建出Xcode能夠直接運(yùn)行的項(xiàng)目。
vapor xcode
運(yùn)行完畢后,會(huì)讓你選擇是否馬上運(yùn)行xcode,輸入y即可。
當(dāng)xcode打開后,選擇Run,然后運(yùn)行,控制臺(tái)會(huì)輸出:
Starting server on 0.0.0.0:8080
這表明,服務(wù)已啟動(dòng),打開瀏覽器,輸入
localhost:8080/hello
即可看到返回結(jié)果。
{"hello":"world"}
使用vapor new Hello創(chuàng)建時(shí),默認(rèn)創(chuàng)建API模板,返回的是json格式的數(shù)據(jù),可以通過vapor new Hello --template=web的方式修改創(chuàng)建的模板。
- --template=api API
- --template=web Web
更新vapor依賴
在項(xiàng)目中,有個(gè)一文件Package.swift,其中,dependencies是管理vapor依賴性的,當(dāng)依賴發(fā)生變化時(shí),使用如下命令更新
vapor update
解決依賴錯(cuò)誤
使用如下命令大多數(shù)可以解決
vapor clean
3.項(xiàng)目結(jié)構(gòu)
結(jié)構(gòu)如下圖所示:
項(xiàng)目結(jié)構(gòu)
.
├── Public
├── Sources
│ ├── App
│ │ ├── Controllers
│ │ ├── Models
│ │ ├── boot.swift
│ │ ├── configure.swift
│ │ └── routes.swift
│ └── Run
│ └── main.swift
├── Tests
│ └── AppTests
└── Package.swift
Public
公共的資源,包括圖片,格式等等。響應(yīng)一個(gè)請(qǐng)求時(shí),最先檢查該文件并返回。
比如有一個(gè)請(qǐng)求localhost:8080/hello.ico會(huì)馬上去檢查Public/hello.ico,如果存在,就返回。
Sources
包括了項(xiàng)目中所有可運(yùn)行的代碼。包括了App和Run兩個(gè)文件夾。
App
最重要的文件夾,所有的邏輯都在這個(gè)文件夾內(nèi)。
- Controllers:大多數(shù)是用于接收請(qǐng)求和返回一些簡短的數(shù)據(jù)。
- Models:存放數(shù)據(jù)模型。
- boot.swift:啟動(dòng)的時(shí)候需要做的服務(wù)可以寫到里面。
- configure.swift:配置文件
- routes.swift:路由文件
Tests
測試文件