HTML實時預覽-livereload完整使用方法


常規html查看過程:修改html文件-->瀏覽器中刷新-->修改html文件-->瀏覽器中刷新

使用livereload后:修改html文件,瀏覽器自動刷新

 

可以簡單的理解為livereload就是讓瀏覽器自動幫你刷新html本地文件

 

也許你會說網絡上有很多livereload的使用方法,最開始瀏覽那些信息花了我一個多小時,但是我的LiveReload依然沒有工作

問題出在哪里?

實際上,LiveReload包括兩部分內容:你需要同時為編輯器和瀏覽器安裝livereload插件,兩個插件的關系是server-client

基本上各大編輯器的插件庫中都能找到LiveReload

至於瀏覽器,你也可以在Chrome和Safari的插件中心找到它

對於初學者而言,Safari的LiveReload並不是那么合適,因為它只支持URL而不支持本地html文件.當然,如果你知道如何使用小型sever工具來發布你的網頁,使用Safari也可以

 

以下是步驟,使用Chrome和VSCode作為示范:

 

  1. 為Chrome安裝LiveReload
    如果無法打開插件中心,可以去尋找離線安裝包.安裝完成后,請在擴展管理中確認啟用插件並開啟本地文件支持(這一點很重要)
    點我下載離線安裝包



  2. 為你的編輯器安裝LiveReload插件,在插件中心直接搜索安裝即可



  3. 如何使用?默認情況下,瀏覽器和編輯器並不會自動為你激活LiveReload的功能
    假設用戶現在需要監視一個本地html文件
    現在打開編輯器,並在瀏覽器中打開這個html(VSCode中安裝 view in browser 插件)

    在編輯器中開啟LiveReload-Sever

    VSCode中 組合鍵Ctrl+Shift+P 輸入關鍵詞 LiveReload
    點擊下面的 LiveReload: Enable/Disable Sever


    注意觀察下方的狀態欄,enabled 表示 sever 服務已經開啟.如果需要關閉服務,重復上面的操作即可切換.每次重新啟動編輯器,你都需要執行這個操作

     

    在瀏覽器中開啟LiveReload-Client

    在Chrome的右上角找到下面所示按鈕,如果VSC已經開啟了Sever,點擊它之后內部的小圓圈會變為實心圓,每個需要監視的html文件都需要執行這個操作


    到這里,基本已經打工告成了.左邊Chrome,右邊VSC,每次保存html,Chrome中就會自動刷新對應的頁面

  4. 注意
    VSCode中,只有當文件屬於打開的文件夾或者工作區,LiveReload-Sever才會響應

 

關於LiveReload:

當編輯器啟動LiveReload-Server后,每當用戶執行保存操作,Server向所有Client(開啟LiveReload的頁面)發送刷新請求

對於瀏覽器而言,會為開啟LiveReload的頁面臨時插入一個js引用

 

 

2018-11-02

更新內容:

找到了一個不需要手動點擊chrome插件的方法,很簡單就是將那段js引用加到你的html文件中

當然每次編寫一個html文件都添加這條js也很煩,不過如果你知道如何使用代碼片段snippets那就很簡單了

大家都知道emmet插件,輸入"doc"然后按tab就可以直接創建html基本結構片段,而snippets就是由用戶自定義的代碼片段

對於vsc在設置中就可以找到snippets功能.比如定義了下面的代碼片段后,我們在html文件(僅html文件有效)中輸入"fs"然后按tab鍵就可以直接填充這部分html代碼

復制代碼
    "html with inner css": {
        "prefix":"fs",
        "body": [
            "<!DOCTYPE html>",
            "<html>",
            "",
            "<head>",
            "    <meta charset=\"UTF-8\">",
            "    <title>Title</title>",
            "    <style>",
            // "        ${1}",
            "        ",
            "    </style>",
            "</head>",
            "",
            "<body>",
            "    ${0}",
            "</body>",
            "",
            "</html>",
        ],
        "description": "Log output to console",
    }
復制代碼

那么很簡單,將livereload的js引用加入就可以了

復制代碼
    "myhtml with livereload": {
        "prefix":"fs",
        "body": [
            "<!DOCTYPE html>",
            "<html>",
            "",
            "<head>",
            "    <meta charset=\"UTF-8\">",
            "    <title>Title</title>",
            "    <script src=\"http://127.0.0.1:35729/livereload.js?ext=Chrome&amp;extver=2.1.0\"></script>",
            "    <style>",
            // "        ${1}",
            "        ",
            "    </style>",
            "</head>",
            "",
            "<body>",
            "    ${0}",
            "</body>",
            "",
            "</html>",
        ],
        "description": "Log output to console",
    },
復制代碼

 

新建一個html文件測試一下.沒問題

 

在瀏覽器中打開,直接顯示已經開啟了livereload

 更進一步,如果我們開啟了編輯器的自動保存功能,那就是完全自動了,只管寫代碼.當然有時候並不合適,因為在你的代碼還未完成的時候,html就在運行,特別是js,可能會有一些無法預料的后果,所以自己看情況吧

 

每次啟動vsc都需要啟動livereload-server服務,干脆設置一個快捷鍵吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM