說說在 IDEA 中如何使用 DevTools 與 LiveReload 實現熱部署(包括代碼與靜態資源)

1 配置 Intellij IDEA

首先在 Intellij IDEA 中,開啓項目自動構建選項:

然後打開 Maintenance 選項卡,快捷鍵爲 Ctrl + Alt + Shift + /:

輸入快捷鍵後,選擇 Registry,進入註冊表,找到 compiler.automake.allow.when.app.running,勾選它:

這時 Java 代碼發生變化時,IDEA 就會自動重新編譯。

2 Spring Boot DevTools

Spring Boot 的 DevTools 爲我們提供了一些便利的開發期工具,包括以下這些內容:

  1. 當代碼變更後應用會自動重啓(這在 IDEA 中需要進行額外配置,上一小節有具體描述);
  2. LiveReload 服務器配合 LiveReload 瀏覽器插件,能夠在模板 、 圖片 、 樣式表 、 JavaScript等發生變化時,自動刷新瀏覽器,這樣就可以免去手動刷新的動作;
  3. 自動禁用模板框架(比如 Thymeleaf 或 FreeMarker)緩存;
  4. 如果使用 H2 數據庫,那麼可以通過 DevTools 內置的 H2 控制檯,看到相關數據。

安裝 DevTools 很簡單,我們只需要在 pom.xml 中,配置好 DevTools 的依賴:

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

DevTools 運行時會自動啓動一個 LiveReload 服務器:

3 安裝 LiveReload Chrome 插件

網上搜索 LiveReload ocx 類型的 Chrome 瀏覽器插件安裝包並下載下來,然後把文件類型從 ocx 改爲 zip(直接安裝會報程序包無效),拖入 Chrome 瀏覽器的擴展程序頁,進行安裝。

安裝時,記得先打開“開發者模式”。安裝成功後,就會在擴展程序中看到 LiveReload :

4 熱部署

使用 LiveReload Chrome 插件時,需要點擊右上角的 LiveReload 圖標,讓其打開 WebSocket 監聽 LiveReload 服務器。

在調試器中,我們可以看到 LiveReload Chrome 插件是通過 WebSocket 實現監聽 LiveReload 服務器的:

這時,如果靜態資源或者前端視圖(比如模板)發生變化,就會通過 LiveReload 實現自動刷新瀏覽器啦๑乛◡乛๑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章