思来想去我的博客需要一个评论系统,一开始本来想用Waline,但是部署在Vercel的访问速度和不知为何加载不了评论的问题,所以改用了它的姐姐Valine。
光是写css就花了我好长时间qwq
Valine相对Waline来说更加危险,但是我的数据也不值钱啊,不管了。
没想到这是另一个噩梦的开始。
不全面的配置文档
快速开始 Valine 一款快速、简洁且高效的无后端评论系统
按照官方文档的引用方式,根本无法正常使用。
<!-- 官方的引用方式 -->
<script src='//unpkg.com/valine/dist/Valine.min.js'></script>
<div id="vcomments"></div>
<script>
new Valine({
el: '#vcomments',
appId: 'Your appId',
appKey: 'Your appKey'
})
</script>
文档教程中缺少了极为关键的leancloud-storage相关js引用和serverURLs的配置。正确的配置方法如下:
<!-- 正确的引用方式 -->
<script src="https://unpkg.com/leancloud-storage@4.15.2/dist/av-min.js"></script>
<script src='https://unpkg.com/valine/dist/Valine.min.js'></script>
<div id="vcomments"></div>
<script>
new Valine({
el: '#vcomments',
appId: 'Your appId',
appKey: 'Your appKey',
serverURLs: 'https://your-server-url',
avatar_cdn: 'https://weavatar.com/avatar/'<!--推荐使用weavatar作为头像CDN-->
});
</script>
LeanCloud 国际版共享域名不再向中国大陆提供服务
最抽象的一集来了,我大晚上用电脑看评论发评论好好的,但是手机不行。
一开始怀疑是不是手机上js兼容性问题,结果偶然打开了VPN,评论系统正常使用。
于是才找到了这篇文章。
换用中国版的LeanCloud,创建应用,替换掉之前的配置,评论系统终于可以在国内网络环境下正常使用了。
Valine-Admin-Server配置
你说得对,但是但是Valine是一个没有后端的评论系统,但是你可以利用LeanCloud的云引擎搭配Valine-Admin-Server来实现一个简单的管理后台。
你说的不对,中国版的LeanCloud云引擎不提供共享域名,你需要使用自己的域名(已备案),对于我这种懒汉来说这里麻烦一点。
我fork了原项目,把应用凭证相关的内容改成了从环境变量读取。这样我们可以通过修改环境变量来访问其他LeanCloud应用的数据。
将该项目部署到国际版LeanCloud云引擎上,设置环境变量,即可通过国际版自带的共享域名来访问后端。
但是这样做会导致原本的云函数和邮件通知等功能无法正常使用。
[2025-12-27T08:14:08.063000000Z][system] 已忽略云函数和 Hook,原因: 云函数 API 响应码为 401,请确认加载了云引擎中间件并正确配置 appId/appKey
没有关系,我们可以再使用之前创建的中国版LeanCloud应用的云引擎也部署该项目,虽然没有域名不能访问后端,但是可以正常发送邮件。
至此,评论系统终于可以正常使用了。