Webjarのサポート

Estimated reading time: 1 minute

この機能は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ヘッダーに使われ、 キャッシュ機能のサポートするのに使われます。

This feature is defined in the class 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>  

バージョンを指定する必要はありません。そのため依存ライブラリのバージョンを更新する選択をした場合、テンプレートの変更の必要はありません。