gpt4 book ai didi

kotlin - 无法使用 Ktor 提供静态内容

转载 作者:行者123 更新时间:2023-12-02 12:51:37 25 4
gpt4 key购买 nike

我尝试使用 Route.static 函数来提供静态文件,但它不起作用。我在我的工作目录中尝试了各种组合和文件夹。现在我在 resources/static/css 下有一个 css,在 resources/static 下有 index.html。如果我写下以下内容,我将得不到任何服务:

@kotlin.jvm.JvmOverloads
fun Application.module(testing: Boolean = false) {

val client = HttpClient(Apache) {}

routing {
static("root") {
files("css")
default("index.html")
}
}
}

但是我可以,从这个答案:Ktor - Static content routing , 写:

        resource("/", "index.html")
resource("*", "index.html")

然后我会在resources/static下得到index.html。但是我什么也得不到。我在这里做错了什么?

引用:https://ktor.io/servers/features/static-content.html#specifying-files-and-folders

最佳答案

静态文件最正确的配置

static {
staticRootFolder = File(""/*or environment.rootPath)*/) // project root dir
files("static") // dir for all static files
}

server.jar 文件旁边创建一个 static 文件夹,然后将任何内容放在那里。

https://example.com/file.txt
https://example.com/css/style.css
https://example.com/images/image.png

另外:

tasks {
val copyStatic = register("copyStatic", Copy::class) {
from("$projectDir/static") {
exclude("**/*.scss", "**/*.sass", "**/*.map")
}
into("${rootProject.buildDir}/static")
}
"build" {
dependsOn(copyStatic)
dependsOn(fatJar)
}
}

关于kotlin - 无法使用 Ktor 提供静态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60683684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com