Arnold's blog
静态网站 31 次浏览 2 分钟阅读

Deploy Twikoo Comment on Netlify

前几天跟着 Twikoo 开发者的教程做了一遍,在 Netlify 上配置了一个 Twikoo 评论系统。前端配置之后发现没有设置密码的选项,直接就是登录,如下图。试了下,也不能留评论,出现“评论失败:0”的错误提示。

deploy Twikoo on Netlify

问了kimi和豆包,也不知道到底问题在哪儿。然后跟着教程用浏览器开发者模式查到了错误信息,如下:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://vocal-unicorn-yincang.netlify.app/ . (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 200.

直接把错误代码发给 kimi, 这才找到了问题:

Netlify 只有在「请求真的进了函数」并且「函数自己返回 CORS 头」时才会放行;你的请求大概率根本没路由到 Twikoo 云函数,而是走了 Netlify 的静态首页,所以响应 200 却是 text/html,头里也没有 CORS。并给出了解决办法:把 envID 路径写全,别省掉路径。

在原来的 envID 后边添加上:/.netlify/functions/twikoo 就行。开发者的教程里是在 Vercel 上部署的,直接填写 Vercel 地址就好。我照葫芦画瓢就出现了这个错误……

twikoo comment on netlify

设置密码进入管理界面,就可以设置反垃圾,邮件提醒等等功能。

参考:
常见问题:https://twikoo.js.org/faq.html

评论区