<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Wow,一個(gè)免費(fèi)、不怕打的評(píng)論插件!

          共 1944字,需瀏覽 4分鐘

           ·

          2022-02-20 11:04

          快速給網(wǎng)站添加評(píng)論功能

          大家好,我是魚(yú)皮,前段時(shí)間我自己做的網(wǎng)站不是被 DDOS 攻擊了么?然后我就即時(shí)地給大家分享了一下我是怎么臨時(shí) “化解” 這次 DDOS 攻擊的。

          結(jié)果我今天一看,好家伙,這個(gè)視頻竟然都已經(jīng) 120 w 播放了!屬實(shí)讓我震驚了。

          這下好了,之后做任何公開(kāi)的網(wǎng)站,我都不敢用花錢的服務(wù)了,被搞的幾率太大了。。。

          言歸正傳,最近我打算做一個(gè)包含評(píng)論功能的網(wǎng)站,大致的需求是允許用戶發(fā)布評(píng)論、瀏覽評(píng)論、修改評(píng)論、回復(fù)評(píng)論等。

          要知道,自己實(shí)現(xiàn)一個(gè)評(píng)論功能可并不容易,要考慮的問(wèn)題非常多,比如:

          • 用戶輸入的合法性,怎么防止惡意輸入和頻繁提交?
          • 多層級(jí)的嵌套回復(fù),庫(kù)表如何設(shè)計(jì)?
          • 如何處理點(diǎn)贊狀態(tài)的前后端變化?

          像我雖然給自己的網(wǎng)站寫(xiě)過(guò)好幾次評(píng)論功能了,但是到現(xiàn)在依然覺(jué)得十分麻煩,真的不想再自己寫(xiě)了!

          此外,如何設(shè)計(jì)評(píng)論系統(tǒng)也是后臺(tái)開(kāi)發(fā)的一個(gè)經(jīng)典面試題,畢竟包含點(diǎn)贊,可問(wèn)的點(diǎn)也非常多:

          好消息是,評(píng)論作為一個(gè)非常常見(jiàn)的 通用需求 ,已經(jīng)有非常多現(xiàn)成的輪子了。今天就給大家分享一個(gè)大廠開(kāi)源的、免費(fèi)的評(píng)論插件 —— Gitalk

          Gitalk 評(píng)論插件

          Gitalk 是一個(gè)基于 GitHub Issue 和 Preact 開(kāi)發(fā)的評(píng)論插件,目前 GitHub 的 star 數(shù)接近 6k。

          指路:https://github.com/gitalk/gitalk

          有了它,只需 幾行代碼 就能讓我們輕松地給自己的系統(tǒng)接入評(píng)論功能,并且因?yàn)樵u(píng)論數(shù)據(jù)是存儲(chǔ)在 GitHub 問(wèn)題區(qū)的,不需要 自己準(zhǔn)備任何服務(wù)器!

          先給大家看一下效果:

          個(gè)人感覺(jué)非常地干凈精簡(jiǎn)。直接使用 GitHub 登錄,就可以發(fā)表評(píng)論了。

          得益于 GitHub 官方的支持,Gitalk 支持用戶使用 Markdown 語(yǔ)法來(lái)發(fā)表評(píng)論,尤其適合程序員相關(guān)的網(wǎng)站。此外,Gitalk 還支持點(diǎn)贊、多級(jí)回復(fù)、修改評(píng)論、刪除評(píng)論等,已經(jīng)能夠滿足我們大多數(shù)的評(píng)論需求了:

          支持點(diǎn)贊和多級(jí)回復(fù)

          如何使用?

          Gitalk 的使用無(wú)比簡(jiǎn)單,進(jìn)入官方中文文檔,就能看到使用說(shuō)明了。

          文檔指路:https://github.com/gitalk/gitalk/blob/master/readme-cn.md

          因?yàn)?Gitalk 的數(shù)據(jù)是存儲(chǔ)在 GitHub 的問(wèn)題區(qū)的,所以首先要在 GitHub 上申請(qǐng)一個(gè)應(yīng)用:

          指路:https://github.com/settings/applications/new

          申請(qǐng) GitHub 應(yīng)用

          申請(qǐng)應(yīng)用后,會(huì)獲得 clientID 和 clientSecret,一定要保存好,等下要用到。

          接下來(lái)先引入 Gitalk 相關(guān)依賴,包括壓縮過(guò)的 CSS 樣式和 JavaScript 腳本文件:

          引入依賴

          引入完成后,如果你使用原生 HTML,先創(chuàng)建一個(gè)用于裝載評(píng)論功能的容器(DOM 節(jié)點(diǎn)),并且復(fù)制一段初始化 Gitalk 的代碼即可:

          上面的這些配置信息分別為:

          • clientID:你申請(qǐng)到的 GitHub 應(yīng)用 id

          • clientSecret:你申請(qǐng)到的 GitHub 應(yīng)用秘鑰

          • repo:GitHub 倉(cāng)庫(kù)名,比如 'my-repo'

          • owner:倉(cāng)庫(kù)的創(chuàng)建者,比如 'liyupi'

          • admin:倉(cāng)庫(kù)的管理員,比如 ['liyupi']

          • id:用于標(biāo)注評(píng)論屬于哪個(gè)頁(yè)面,盡量保證每個(gè)頁(yè)面的 id 唯一,否則評(píng)論就混在一起啦

          如果你的項(xiàng)目用到了 React,也支持直接引入組件:

          這樣就完成啦,最后訪問(wèn)你網(wǎng)站的域名,就能愉快地使用評(píng)論插件了~

          ?? 如果在本地訪問(wèn),可能會(huì)出現(xiàn)以下情況,但線上真實(shí)域名的訪問(wèn)是正常的

          咋樣,是不是很方便?

          但這個(gè)評(píng)論插件也有一定的不足:

          1. 評(píng)論基于 GitHub,國(guó)內(nèi)部分用戶可能因?yàn)榫W(wǎng)絡(luò)原因無(wú)法使用

          2. 基于 GitHub 用戶體系,不適合自己網(wǎng)站已有用戶庫(kù)的情況

          3. 評(píng)論數(shù)據(jù)存儲(chǔ)于 GitHub,很難自己維護(hù)

          4. 輪子的通病,越現(xiàn)成的往往越難自己定制和修改

          大家還是根據(jù)自己的實(shí)際情況 選用 吧。

          我是魚(yú)皮,以上就是本期分享,有幫助的話還請(qǐng)大家 點(diǎn)贊 + 在看 支持下 ??,感謝!

          最后多說(shuō)一句,為了更好地幫助到部分愿意學(xué)習(xí)和進(jìn)步的朋友,魚(yú)皮即將正式開(kāi)放自己的知識(shí)星球(付費(fèi)編程學(xué)習(xí)圈子),想提前加入的小伙伴可以點(diǎn)擊下方 閱讀原文 了解。


          往期推薦

          這些開(kāi)源免費(fèi)的工具真香!

          年前,我公開(kāi)了自己網(wǎng)站的【底褲】

          哦,原來(lái)大廠是這樣發(fā)布應(yīng)用的!

          剛看到份百萬(wàn)閱讀的學(xué)習(xí)路線,太牛逼!

          微信發(fā)力了,一鍵部署網(wǎng)站后端!

          瀏覽 47
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  爱情岛成人亚洲WWW论坛 | www色逼 | 国产多毛文批视频在线观看 | 日韩免费在线视频 | 中文字幕亚洲天堂 |