摘要:好像最新的系统是自带的,不过笔者本机的版本是,而的要求是以上版本,因此还是要来官网来更新一波的。默认的系统上的安装的地址为。中的路由返回跟中非常类似这样所有关于的请求都会返回响应。
Quick Start Installing Swift
好像最新的OSX系统是自带Swift的,不过笔者本机的版本是2.1.1,而Vapor的要求是2.2以上版本,因此还是要来Swift.org官网来更新一波的。 首先需要在这嘎达下载下安装文件,然后进行配置。
OSX默认的OSX系统上的Swift安装的地址为:/Library/Developer/Toolchains。 可以使用如下配置来使得可执行文件能够全局通用
$ export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"Linux
首先需要安装下clang
$ sudo apt-get install clang
如果没有把Swift的工具链安装在系统根目录下,可以使用如下方式来讲Swift可执行命令设置为全局可用:
$ export PATH=/path/to/Swift/usr/bin:"${PATH}"
可以使用--version 参数来检查安装的Swift版本是否正确:
$ swift --version
Apple Swift version 2.2-dev (LLVM ..., Clang ..., Swift ...)
最简单的基于Vapor的架构就是如下
`
Sources/
main.swift
Pakcage.swift
`
其中Package.swift的内容如下:
import PackageDescription let package = Package( name: "VaporApp", dependencies: [ .Package(url: "https://github.com/qutheory/vapor.git", majorVersion: 0), .Package(url: "https://github.com/qutheory/vapor-stencil.git", majorVersion: 0) ] )
而main.swift的内容为:
import Vapor let server = Server() server.run()
使用swift build进行编译,然后运行.build/debug/VaporApp即可得到如下输出结果:
Server has started on port 80Clone
sudo apt-get install git git clone git@github.com:qutheory/vapor-example.gitCompile
cd vapor-example swift build --configuration releaseAutomatic Startup
如果需要整改网站自启动,则需要将如下配置放置到init目录下,/etc/init/vapor-example.conf
description "Vapor Example" start on startup exec /home//vapor-example/.build/release/VaporApp --port=80 --workDir=/home/ /vapor-example
这样已经可以执行自启动了:
sudo start vapor-exampleAPI Overview Server
如果需要创建一个服务器:
main.swift
import Vapor let server = Server() server.run()
也可以自定义需要启动的端口
server.run(port: 8080)
如果有时候端口不能监听,请确定你的端口是处于开启状态,可以使用apt-get ufw来进行简单的端口管理。
RoutingVapor中的路由返回跟Lavarel中非常类似:
main.swift
Route.get("welcome") { request in return "Hello" } //...start server
这样所有关于 http://example.com/welcome 的请求都会返回响应: "Hello"。
JSON返回JSON数据
Route.get("version") { request in return ["version": "1.0"] }
所有对于 http://example.com/version 请求的返回都是简单的字典类: {"version": "1.0"} 以及 Content-Type: application/json.
Views也可以返回HTML界面
Route.get("/") { request in return View(path: "index.html") }
或者使用Stencil Stencil 模板。
index.stencil
{{ message }}
Route.get("/") { request in return View(path: "index.stencil", context: ["message": "Hello"]) }
如果添加了 VaporStencil 依赖, 只需要将视图文件放置到Resources 目录下即可。
Stencil如果需要添加 VaporStencil, 将如下依赖添加到 Package.swift.
Package.swift
.Package(url: "https://github.com/qutheory/vapor-stencil.git", majorVersion: 0)
Then set the StencilRenderer() on your View.renderers for whatever file extensions you would like to be rendered as Stencil templates.
main.swift
import VaporStencil //set the stencil renderer //for all .stencil files View.renderers[".stencil"] = StencilRenderer()
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/61533.html
摘要:上周又推出了新一轮服务器端增强函数库。对,你没看错,在服务器端其实可以轻松从其他语种的函数库中直接拿来调用,不需要修改任何内容。执行函数方法用于带参数执行某个函数。 上周Perfect又推出了新一轮服务器端Swift增强函数库:Perfect-Python。对,你没看错,在服务器端Swift 其实可以轻松从其他语种的函数库中直接拿来调用,不需要修改任何内容。如果没有类似经验的童鞋可以参...
摘要:今天我们将继续研究这个主题,使用封装的来操作数据库。本篇我们将焦聚在上使用来操作数据库。语句是用来测试保证我们连接正确,并成功连接到了数据库。字典的对应着数据库的列名。为了循环处理结果,我们使用了语句,接着使用语句验证结果数据。 作者:Joe,原文链接,原文日期:2016-09-24译者:shanks;校对:walkingway;定稿:CMB 如果你阅读过本主其他的 Swift 文章,...
摘要:说起开源社区,是一个不可缺少的存在。作为全球最大的同性交友网站,上面有太多优秀的开源代码库和编程大神,让无数开发者心生向往。其中最主要的框架分别是以及。 说起开源社区,Github 是一个不可缺少的存在。作为全球最大的同性交友网站,上面有太多优秀的开源代码库和编程大神,让无数开发者心生向往。那么如何正确的使用 Github,也许是编程学习之必要。来看下@googdev 的 关于如何选择...
摘要:说起开源社区,是一个不可缺少的存在。作为全球最大的同性交友网站,上面有太多优秀的开源代码库和编程大神,让无数开发者心生向往。其中最主要的框架分别是以及。 说起开源社区,Github 是一个不可缺少的存在。作为全球最大的同性交友网站,上面有太多优秀的开源代码库和编程大神,让无数开发者心生向往。那么如何正确的使用 Github,也许是编程学习之必要。来看下@googdev 的 关于如何选择...
摘要:今天,我们不聊技术,我们从技术结构方面,聊一聊本次发布的版本,有些什么功能。终于,通过团队的不断努力,我们发布了第一个版本。所以当前最新版本是版本。拓展包安装器入口我们也是采用的服务提供者,但是简化了让用户去修改配置的流程,之后即可使用。 今天,我们不聊技术,我们从技术结构方面,聊一聊本次发布的版本,有些什么功能。 其实,alpha.1 早上打的 tag ,晚上因为增加了两个核心功能,...
阅读 1088·2021-11-11 10:57
阅读 3486·2021-09-07 10:10
阅读 3305·2021-08-03 14:03
阅读 2959·2019-08-30 13:45
阅读 576·2019-08-29 11:19
阅读 930·2019-08-28 18:07
阅读 2942·2019-08-26 13:55
阅读 678·2019-08-26 12:17