Perfect 应用程序中 webroot 的位置(css 文件)

Location of webroot (for css file) in Perfect app

我已经克隆了 PerfectTemplate 项目并使用它来提供 html 如下…

import PerfectHTTP
import PerfectHTTPServer

var routes = Routes()

routes.add(method: .get, uri: "/test") { request, response in
    response.addHeader(.contentType, value: "text/html")
    response.setBody(string: """
        <!DOCTYPE html>
        <html lang="en">
            <head>
                <title>Test!</title>
                <link rel="stylesheet" type="text/css" href="style.css">
            </head>
            <body>
                <div class="Welcome">Hello</div>
            </body>
        </html>
        """)
    response.completed()
}

routes.add(method: .get, 
              uri: "/**", 
          handler: StaticFileHandler(documentRoot: "./webroot", allowResponseFilters: true).handleRequest)

try HTTPServer.launch(name: "localhost", 
                      port: 8181, 
                    routes: routes, 
           responseFilters: [(PerfectHTTPServer.HTTPFilter.contentCompression(data: [:]), HTTPFilterPriority.high)])

我正在编译 运行 Xcode,http://localhost:8181/test 按预期返回 html。

问题是外部 css 文件的位置。据我所知,这应该在一个名为 webroot 的文件夹中,但是当 运行 在本地时该文件夹应该在哪里?

作为参考,我是作为一名 iOS 开发人员来的,所以我对 Web 开发和服务器配置的了解有限。


更新

根据 Perfect Slack 组的建议,我将 css 文件添加到项目文件夹(与 Package.swift 相同的文件夹),并设置 Working Directory 方案 $(PROJECT_DIR) - 但我收到 404 尝试加载 http://localhost:8181/style.css

在 Perfect Slack 小组的帮助下,我找到了解决方案。我缺少的部分是 webroot 文件夹。我以为这是某种别名,但事实证明您确实需要创建一个名为 webroot 的实际文件夹。所以……

  1. 将方案的工作目录设置为$(PROJECT_DIR)
  2. 在项目文件夹中,创建一个名为 webroot 的文件夹并将 css 文件添加到该文件夹​​。它应该是这样的……

我敢肯定所有经验丰富的网络开发人员现在都在嘲笑我!