Nextjs博客快速引入Waline评论系统
之前我在研究Next.js博客时,发现它们很多缺少一个作为博客的基本的东西:评论,就算有,也是Gistus这类依赖于GitHub的评论系统,而在国内还是尽量选择一个无需登录的评论系统,于是我选择了Waline作为评论系统,在引入过程中遇到了一些坑,不过最后还是引入完成了。
前言
如果你没有Waline后端,请先参考Waline官方文档部署一个
模板选择
我选择了Netlify的一个Next.js博客模板,虽然简朴,但是可以作为试验的一个地方。
模板Github仓库地址:
引入Waline
首先我们需要以包形式安装Waline。
1 | npm i -D @waline/client |
然后在博客根目录下,我们找到components
文件夹,在里面新建一个JS组件,比如Comment.js
。
然后在Comment.js
中加入以下代码
1 | import { useEffect } from 'react'; |
这样我们就建立了一个Js评论组件。
引入页面
我们打开博客文件根目录,找到pages/posts/[slug].js
这个文件,这个React组件负责渲染文章页面。
接下来在页头加入
1 | import WalineComment from '../../components/Comment'; |
然后我们在需要加入Waline评论系统的地方引入容器
1 | //引入Waline评论系统 |
比如我是在这里加入代码(该文件约59至60行)
1 | </header> |
现在我们输入命令启动开发服务器查看效果
1 | npm run dev |
效果图(确保正确填写了Waline后端地址):