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
的实际文件夹。所以……
- 将方案的工作目录设置为
$(PROJECT_DIR)
- 在项目文件夹中,创建一个名为
webroot
的文件夹并将 css 文件添加到该文件夹。它应该是这样的……
我敢肯定所有经验丰富的网络开发人员现在都在嘲笑我!
我已经克隆了 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
的实际文件夹。所以……
- 将方案的工作目录设置为
$(PROJECT_DIR)
- 在项目文件夹中,创建一个名为
webroot
的文件夹并将 css 文件添加到该文件夹。它应该是这样的……
我敢肯定所有经验丰富的网络开发人员现在都在嘲笑我!