服务器端Swift的启动和运行:第1部分-待办事项列表项目设置

我已经想要了一个基本的,基于浏览器的待办事项列表。 没有任何干扰的东西。 使用Swift构建此库,并了解一些涉及的库似乎是一个不错的起点。

这是一个分为4部分的系列文章,概述了如何设置项目,路由入门,数据库设置以及最终创建应用程序的模型和控制器。

介绍

第1部分将概述一个基本的项目设置,包括使用swift软件包管理器,并让我们开始使用Swift从服务器返回响应中的一些文本。

项目设置

首先,让我们为项目创建一个目录,然后导航到该目录。

  mkdir WhatsNext 
cd WhatsNext

接下来,我们将使用swift软件包管理器创建一个swift可执行软件包。

  swift package init --type可执行文件 

现在,生成一个xcode项目。

 迅捷包generate-xcodeproj 

打开项目并切换到第二个目标。 生成并运行,您应该会在控制台中看到“世界,您好!”。

 打开WhatsNext.xcodeproj 

完美的服务器设置

添加perfect-HTTPServer作为项目的依赖项。 打开Package.swift并将以下内容添加到您的依赖关系中。

  .package(网址:“ https://github.com/PerfectlySoft/Perfect-HTTPServer.git”,来自:“ 3.0.0”) 

还要将"PerfectHTTPServer"添加为目标的依赖项。 如果您使用的是Swift 3,则上述语法可能会遇到问题。 你可以在这里找到更多。

您最终的Package.swift应该看起来像这样……

现在,回到终端并更新项目相关性并重新生成xcodeproj。

 快速软件包更新 
迅捷包generate-xcodeproj

假设没有问题,请将以下导入添加到main.swift的顶部,然后构建并运行。

 导入PerfectLib 
导入PerfectHTTP
导入PerfectHTTPServer

服务器需要服务

因此,我们的Web服务器需要提供目录或文件。 为了简单起见,我们将在我们的项目中创建一个名为webroot的文件夹,并在其中添加一个文件供我们的项目使用。

  mkdir Webroot 
触摸webroot / hello.txt
迅捷软件包regenerate-xcodeproj

添加一些占位符文本以了解正在提供文件。

接下来,我们需要在main.swift创建服务器。 我们创建一个服务器,设置其端口和documentRoot,启动它并捕获它将引发的任何异常,例如该端口已被使用。

在运行之前,我们需要将目标的文档根目录设置为项目目录。 为此,选择第二个目标,然后edit sceme -> run -> options并勾选working directory并提供项目目录。

生成并运行,打开浏览器并导航到localhost:8080 。 您应该看到The file /index.html was not found.

我们需要添加一条到服务器的路由,以便它知道在请求此URL时在哪里看以及该做什么。 我们通过添加到服务器的路由来做到这一点,如下所示。 在这种情况下,我们还将添加一种方法来读取添加到webroot目录中的文件的内容,并处理如果文件不存在可能发生的任何错误。

再次构建,运行并导航到localhost:8080 ,您应该看到添加到txt文件中的所有文本。

您可以向服务器添加任意数量的路由,每个路由都有不同的URL。

接下来…

因此,现在我们距待办事项清单仅一步之遥。 我们已经建立并运行了基本的快速Web服务器。 接下来,我们将继续提供一些HTML页面,并使用Mustache将一些计算值注入到HTML中。 单击此链接查看更多。

Interesting Posts