L
O
A
D
I
N
G

valine评论失效解决


valine评论失效解决

博客大概有十多天无法显示评论也无法提交新评论,而我这段时间并未对博客评论进行过修改。(不是我的锅)

我寻思着该不会是Valine更新了什么把自己给更没了吧?(强行背锅)

后来在Valine的官方群中,有部分网友表示最近遇到相同问题,共性是都使用的LeadCloud国际版。

哦,原来是LeadCloud的锅。

查看控制台

Failed to load resource: net::ERR_EMPTY_RESPONSE

us-api.leancloud.cn/后面还有一长串

调试过程中还报过别的错,我没有记录,但总之,都是围绕这个域名解析的问题。反正就是这个域名无法正确得到结果。

那怎么办呢?根据群里大佬讨论可得,似乎是现在国际版对这个域名不再支持了,也有人说是不稳定,推荐自定义服务器URL。

那就换呗。

解决

法一:导出数据,更换到国内节点,快准狠。

法二:

在站点目录下的_config.yaml中找到Valine配置,修改severURLs,把xxxxxxxx替换为AppID的前8位字符。

serverURLs: https://xxxxxxxx.api.lncldglobal.com 

如果主题未配置该参数,就需要找到valine.ejs文件

new Valine({
    el: '#comments',
    notify: '<%= theme.valine.notify %>' == 'true',
    verify: '<%= theme.valine.verify %>' == 'true',
    appId: "<%= theme.valine.appId %>",
    appKey: "<%= theme.valine.appKey %>",
    avatar: "<%= theme.valine.avatar %>",
    placeholder: "<%= theme.valine.placeholder %>",
    guest_info: guest_info.length == 0 ? GUEST_INFO : guest_info,
    pageSize: "<%= theme.valine.pageSize %>",
    serverURLs: '<%= theme.valine.serverURLs %>'  // 增加这一行!!!
})

然而我在配置完这一步后,仍然不能显示正确的评论,控制台查看发现评论这块并没有跳转到设定的serverURLs,还是us-api.leancloud.cn

在Valine的Github的Issues区,一个大佬提出的Issue发现了端倪。详见:https://github.com/xCss/Valine/issues/376
这个大佬提问说这个av.js是不是有bug啊?

看了大佬的截图,我懂了。

这个cdn是版本不对了吧?

于是我找到LeadClond官网手册,查询最新的CDN链接。https://leancloud.cn/docs/sdk_setup-js.html

将这一行

<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>

替换为

<script src="//code.bdstatic.com/npm/leancloud-storage@4.12.0/dist/av-min.js"></script>

再重新部署,评论已经能成功显示了。

回顾三部曲:

  1. 设置serverURLs
  2. 若Valine的js文件未定义,需增加定义serverURLs
  3. 更新av-min.js文件

valine评论不显示

替换Valine.min.js的以下代码:

src:"//cdn.jsdelivr.net/npm/leancloud-storage/dist/av-min.js"

src:"//code.bdstatic.com/npm/leancloud-storage@4.12.0/dist/av-min.js"

参考

https://github.com/xCss/Valine/issues/340
https://github.com/xCss/Valine/issues/376

【解决方法】valine不显示-CSDN博客


文章作者: loyeh
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 loyeh !
评论
  目录