swift perfect 搭建服务器

1.cd 到要安装的目录下
2.终端执行
swift package init --type executable
会自动创建相关文件

pro:Perfect2 qzp$ swift package init --type executable
Creating executable package: Perfect2
Creating Package.swift
Creating [README.md](http://README.md)
Creating .gitignore
Creating Sources/
Creating Sources/Perfect2/main.swift
Creating Tests/

3.打开Package.swift 文件添加相关依赖

// swift-tools-version:5.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

//swift 编译的最低版本3.0.0
let package = Package(
    name: "New_Server",
    dependencies: [
        .package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", from: "3.0.0")
    ],
    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
        // Targets can depend on other targets in this package, and on products in packages which this package depends on.
        .target(
            name: "New_Server",
            dependencies: ["PerfectHTTPServer"]), //添加依赖关系
        .testTarget(
            name: "New_ServerTests",
            dependencies: ["New_Server"]),
    ]
)

4.构建项目
swift build
5.创建xcode启动文件
每次导入之后需要执行
swift package generate-xcodeproj
6.改写main.swift

import PerfectLib
import PerfectHTTP
import PerfectHTTPServer

//注册路由
var routes = Routes();
routes.add(method: HTTPMethod.get, uri: "/") { (request:HTTPRequest, response:HTTPResponse) in
    response.setHeader(.contentType, value: "text/html");
    response.appendBody(string: "<html><title>Hello, world!</title><body>Hello, world!</body></html>").completed()
}

let server = HTTPServer();
server.serverPort = 8090;
server.documentRoot = "webroot";
server.addRoutes(routes);
do{
    try server.start();
} catch {
    fatalError("\(error)")
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 仿照喵神写的的清理未使用图片的工具, 里面有很详细的注释介绍自己写的命令行打包工具 欢迎star 本文通过对学...
    东方_未明阅读 8,045评论 4 9
  • Swift Package Manager(SPM)是苹果最新的官方工具,可以用来管理 Swift 代码的分配,它...
    huhueggtest_tdp阅读 5,938评论 4 3
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,817评论 0 10
  • 公司:蔚蓝时代 【日精进打卡第70天】 【知-学习】 1.读0大学和六项精进 【经典名句分享】 不要着急,最好的总...
    菜菜_d868阅读 112评论 0 0
  • 三月的风,四月的雨,带来五月的花。黑暗过后会有光明;软弱中能迸发出坚强的力量;如果你敢想,死亡中也能孕育出新生。请...
    墨雨缤纷阅读 919评论 0 8