Google App Engine Java スタンダード環境 の Spring BootでVue.jsを利用する
Spring Boot を Google App Engine Java スタンダード環境で動作するようにして、テンプレートエンジンThymelear を適用した ので、テンプレートで生成したHTMLから、Vue.js を使えるようにする。
公式ページの無料動画をさらっと見る。うん。わかりやすい。
https://jp.vuejs.org/v2/guide/
1.Chromeに開発ツールを入れる
Chrome Web Store を検索して表示、して、Vue.js を検索、Vue.js devtool をインストール
設定から、ファイルへのURLへのアクセスを許可するをONにする。
2.静的コンテンツとして Javascriptファイルを置く
Spring Boot で静的ファイルをホストするパスを調べる。
静的コンテンツ
https://docs.spring.io/spring-boot/docs/2.1.4.RELEASE/reference/htmlsingle/
/src/main/resource/static でよさそう。
ここに、以下の内容の、Javascript ファイルを置く
var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } })
3.テンプレートの編集
ThymeThymeleaf で作成したテンプレートを編集
- </body> の前で、上記で静的ファイルとして置いたJavascriptを読み込む
- Vue.jsの開発用スクリプトを読み込む(https://jp.vuejs.org/v2/guide/ 参照)
- div の id=”app” により、上記で記述した Javascript の el:=”#app” と紐づけ
- data: で指定した、message と {{message}} がリアクティブにバインディングされる
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <div id="app"> {{message}} </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <!-- script src="https://cdn.jsdelivr.net/npm/vue"></script> --> <script src="/js/favphrase.js"></script> </body> </html>
4.実行
想定通り表示された。
Chrome の開発コンソールから、app オブジェクトを変更すると、即座に画面のメッセージ領域が変更される。