我已经克隆了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
相同的文件夹),并设置方案{{ 1}}-但是我正在尝试加载404 $(PROJECT_DIR)