介紹Vuecket:Vue.JS與Apache Wicket的魔法結合
Vuecket是一個Web框架,在客戶端整合了VueJS,在伺服器端整合了Apache Wicket。它兼具了兩者的優點,使開發全棧應用程式變得更快,更輕鬆。
案例步驟:
透過`mvn archetype:generate`生成我們的專案:
mvn archetype:generate -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=8.9.0 -DgroupId=com.mycompany -DartifactId=mychat -DarchetypeRepository=https://repository.apache.org/ -DinteractiveMode=false |
Vuecket尚未擁有自己的Maven專案模板。也許將來我們也會新增它。現在,讓我們連線Vuecket本身。將以下依賴項新增到專案`pom.xml`中:
<dependency> <groupId>org.orienteer.vuecket</groupId> <artifactId>vuecket</artifactId> <version>1.0-SNAPSHOT</version> </dependency> |
預設情況下,Wicket專案已經包含一個Wicket歡迎頁面。讓我們新增一些程式碼以確保Vuecket已經在執行。例如,讓我們在Markdown中顯示Hello World,我們將使用vue-markdown庫渲染Markdown 。
在HomePage.html中,新增:
<div wicket:id="app"> <vue-markdown wicket:id="markdown">This will be replaced</vue-markdown> </div> |
在HomePage.java中,以下程式碼:
public HomePage(final PageParameters parameters) { super(parameters); add(new VueComponent<String>("app") .add(new VueMarkdown("markdown", "# Hello World from Vuecket"))); } |
但是VueMarkdown類在哪裡?我們將其定義如下:
@VueNpm(packageName = "vue-markdown", path = "dist/vue-markdown.js", enablement = "Vue.use(VueMarkdown)") public class VueMarkdown extends Label { public VueMarkdown(String id) { super(id); } public VueMarkdown(String id, Serializable label) { super(id, label); } } |
注意@VueNpm批註。需要在此Wicket元件上啟用Vuecket,這將從NPM載入所需的所有內容,以幫助瀏覽器正確呈現Markdown的已經存在的Vue元件。
如果一切正確,那麼透過`mvn jetty:run`啟動專案後,您應該在http:// localhost:8080上看到內容:Hello World from Vuecket
原理:
- 我們向頁面新增2個Vue元件來標記頁面:用於應用程式和Markdown輸出
- 我們在伺服器端將Vue元件與Wicket元件捆綁在一起(在HomePage.java中)
- 我們告訴Vuecket它需要哪個Vue.JS庫來呈現“ vue-markdown”
- 然後,一切都變得很簡單:Wicket,當將頁面呈現給瀏覽器時,使用了“#Vuecket中的Hello World”行,這是我們在新增Wicket元件時設定的,Vuecket幫助瀏覽器載入了必要的VueJS庫,啟動了VueJS應用程式並將問候語呈現為渲染的Markdown
相關文章
- Apache Maven Assembly Plugin 的介紹ApacheMavenPlugin
- 魔法世界與畫素種田的結合體《Serin Fate》
- css和html的四種結合方式介紹CSSHTML
- 安裝apache及介紹Apache
- Apache Curator簡單介紹Apache
- Apache Doris設計思想介紹與應用場景Apache
- Apache Cassandra 4.0新特性介紹Apache
- Apache IoTDB C# SDK 介紹ApacheC#
- match函式簡單介紹以及與index函式結合應用函式Index
- Apache httpd和php的結合方式ApachehttpdPHP
- Vue.js基礎學習(三) -------------動態繫結v-bind的介紹和使用Vue.js
- HTML的介紹與seoHTML
- JQuery的介紹與使用jQuery
- 詳細介紹php和apache的關係和作用PHPApache
- Angular forRoot 方法的使用場合介紹Angular
- Apache Flink 1.9.0版本新功能介紹Apache
- Flink sql實現原理及Apache Calcite介紹SQLApache
- Eclipse的Debug介紹與技巧Eclipse
- xtrabackup 2.4 的介紹與使用
- item的介紹與使用-2.0
- FastAPI 的路由介紹與使用ASTAPI路由
- RabbitMQ實戰:擴充套件介紹與系列總結MQ套件
- GoogleTagManager 介紹與使用Go
- Influxdb 介紹與使用UX
- LVS介紹與配置
- NFS介紹與搭建NFS
- 簡單介紹apache虛擬主機配置的三種方式Apache
- Go 介面:Go中最強大的魔法,介面應用模式或慣例介紹Go模式
- eosio.token 智慧合約介紹
- Conflux 內建合約功能介紹UX
- js中的JSON介紹與案例JSON
- npm與cnpm的區別介紹NPM
- NFT元宇宙的概念與介紹元宇宙
- DAPP系統的原理與介紹APP
- 簡單介紹一個用於 Vue.js 的狀態管理庫:PiniaVue.js
- java ShutdownHook介紹與使用JavaHook
- Spring BeanFactory與ApplicationContext 介紹SpringBeanAPPContext
- Go~介紹與優勢Go