この機能はwebjarによって提供されている静的コンテンツの配信を有効化する機能です。 これを使うことでjavascriptライブラリやcssをあなたのjarファイルの一部としてパッケージすることができます。
install(Webjars) {
path = "assets" //defaults to /webjars
zone = ZoneId.of("EST") //defaults to ZoneId.systemDefault()
}
このコードは/assets/
パスの任意のwebjarアセットを配信するよう設定しています。
zone
引数は正とするタイムゾーンを設定しており、
これは(Conditional Header Featureもインストールされている場合は)Last-Modified
ヘッダーに使われ、
キャッシュ機能のサポートするのに使われます。
io.ktor.Webjars
in the artifact io.ktor:ktor-webjars:$ktor_version
.
dependencies {
implementation "io.ktor:ktor-webjars:$ktor_version"
}
dependencies {
implementation("io.ktor:ktor-webjars:$ktor_version")
}
<project>
...
<dependencies>
<dependency>
<groupId>io.ktor</groupId>
<artifactId>ktor-webjars</artifactId>
<version>${ktor.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
Webjarを使うことで開発者は依存ライブラリについて、 テンプレート内でのロードパスを変更する必要無しにバージョンを変更することができます。
org.webjars:jquery:3.2.1
をインポートしている場合を想定してください。
次のHTMLコードをインポートするために利用できます。
<head>
<script src="/webjars/jquery/jquery.js"></script>
</head>
バージョンを指定する必要はありません。そのため依存ライブラリのバージョンを更新する選択をした場合、テンプレートの変更の必要はありません。