Vaadin 10-14では、CSS、JavaScript、およびPolymerテンプレートなどの静的ファイルをどこに配置する必要がありますか?画像などの静的ファイルはどうですか?
また、これらのファイルをVaadinにインポートする方法を教えてください。 npmのVaadin 14とBowerのVaadin 10-13の間に違いはありますか?
すべてのパスは、プロジェクトのルート(例: _pom.xml
_ファイルは、Mavenプロジェクトにあります。
_@JsModule
_を使用してインポートされたJavaScriptは strict mode を使用します。とりわけ、これは、_window.x = ...
_だけではなく、window
オブジェクト_x = ...
_でグローバル変数を定義する必要があることを意味します。
@CssImport("./my-styles/styles.css")
[1]/frontend/my-styles/styles.css
_@JsModule("./src/my-script.js")
[1]/frontend/src/my-script.js
_new Image("img/flower.jpg", "A flower")
/src/main/webapp/img/flower.jpg
_@CssImport("./my-styles/styles.css")
[1]/frontend/my-styles/styles.css
_@JsModule("./src/my-script.js")
[1]/frontend/src/my-script.js
_new Image("img/flower.jpg", "A flower")
/src/main/resources/META-INF/resources/img/flower.jpg
_@CssImport("./my-styles/styles.css")
[1]/src/main/resources/META-INF/resources/frontend/my-styles/styles.css
_@JsModule("./src/my-script.js")
[1]/src/main/resources/META-INF/resources/frontend/src/my-script.js
_new Image("img/flower.jpg", "A flower")
/src/main/resources/META-INF/resources/img/flower.jpg
_@StyleSheet("css/styles.css")
[2]/src/main/webapp/frontend/css/styles.css
_@HtmlImport("src/template.html")
/src/main/webapp/frontend/src/template.html
_@JavaScript("js/script.js")
[3]/src/main/webapp/frontend/js/script.js
_new Image("img/flower.jpg", "A flower")
/src/main/webapp/img/flower.jpg
_@StyleSheet("css/styles.css")
[2]/src/main/resources/META-INF/resources/frontend/css/styles.css
_@HtmlImport("src/template.html")
/src/main/resources/META-INF/resources/frontend/src/template.html
_@JavaScript("js/script.js")
[3]/src/main/resources/META-INF/resources/frontend/js/script.js
_new Image("img/flower.jpg", "A flower")
/src/main/resources/META-INF/resources/img/flower.jpg
_[1] _@JsModule
_および_@CssImport
_アノテーションは、npmパッケージからのインポートにも使用できます。この場合、パスは@JsModule("@polymer/paper-input")
または@CssImport("some-package/style.css")
として定義されます。 ローカルフロントエンドディレクトリを参照するパスの前には_./
_を付ける必要があります
[2] _@StyleSheet
_アノテーションは、npmを使用するVaadin 14でも使用できます。 _context://
_プロトコル@StyleSheet("context://style.css")
を含む、V10-V13と同じパスを使用できます。これは、他の静的ファイルと同様に、Webアプリケーションのコンテキストパスに関連するパスを解決します。 この方法でスタイルを含めると、Webコンポーネントで問題が発生する可能性があります。
[3] _@JavaScript
_アノテーションは、npmを使用するVaadin 14でも使用できます。 V14 _/frontend
_フォルダーを使用する必要があります,.
@Tazavooの回答がVaadin 14の公式ドキュメントに追加されました。
これはVaadin 15のドキュメントの一部でもあります。
私はこれをここに置きたかったのです。これが将来更新され続けることを願っています。ここにテーブルを掲載しないことをお許しください。ただし、この答えは他の場合には実行されます。