Я клонировал проект 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, поэтому мои знания в области веб-разработки и конфигурации сервера ограничены.
Обновление
По предложению группы Perfect Slack я добавил файл css в папку проекта (в той же папке, что и Package.swift
), и установил Рабочий каталог схемы $(PROJECT_DIR)
- но Я получаю 404, пытаясь загрузить http://localhost:8181/style.css