Lazy loaded image
记录-NotionNext博客添加Twikoo评论插件
字数 1056阅读时长 3 分钟
2025-6-25
2025-10-14
AI智能摘要
GPT
这里是萌新AI,这篇文章介绍了在 NotionNext 博客中添加 Twikoo 评论插件的步骤与常见问题。首先,作者推荐使用 MongoDB 数据库存储评论数据,并提醒注意保存连接字符串。接着,通过 Vercel 一键部署 Twikoo,配置环境变量连接数据库。最后,测试时若遇到评论框报错,文中提供了具体解决方法。整体流程清晰,旨在帮助读者顺利集成评论功能。
URL
type
status
date
slug
summary
tags
category
icon
password
😀
今天主要记录在Vercel部署Twikoo插件遇到的问题以及解决方法,供大家参考。

📝 部署

数据库(MongoDB)

Tips
  • 数据库主要用于存储用户评论以及数据仓库管理员密码。
  • Twikoo官方文档推荐使用MongoDB数据库,这里博主也就使用该数据库了(主要也没尝试配置过其他数据库 😂😂)。
  • 在这里,博主简单说一下创建数据库的注意事项,创建流程请查阅Twikoo官方文档
注意事项:
  • 1、按照官方文档一定要将以下这段语句复制下来。(一般创建完数据库用户,复制该语句时,<username>已经自动转换为数据库用户名。例如:twikoo)

Twikoo

Tips
  • Twikoo的一键式部署,一般不会遇到什么问题,都可以部署成功,最主要的配置内容。
个人建议:
  • 1、如果是在Vercel上部署Twikoo,我觉得没有必要绑定自定义域名。因为,Twikoo的域名只在Vercel的环境变量中用到,完全可以使用自带的域名。
  • 2、如果你的是自建服务器或者云部署Twikoo,为了防止暴露IP可以绑定自定义域名。

🤗 配置

Twikoo配置

1、Twikoo连接数据库

首先进入Vercel部署的Twikoo界面,接着点击Settings,再接着点击Environment Variables,然后在Key中输入MONGODB_URI,在Value输入你在MongoDB中复制的那句话,最后点击Save。
notion image
按照上诉步骤,配置完成结果如下
notion image

2、设置允许跨域

Tips
因为博主Vercel部署的博客绑定了自定义域名,所以需要设置Twikoo允许跨域连接。
配置方式和上述相同。在Key中添加TWIKOO_CORS_ALLOW_ORIGIN,在Value中添加自定义域名(eg:https://www.yourname.com)。

3、重新部署

点击带有Current标记。
notion image

博客配置(前提:NotionNext博客)

1、配置Twikoo的环境ID

配置方法依然和上述的相同,在Key中填入NEXT_PUBLIC_COMMENT_ENV_ID,在Value中填入Twikoo的自带域名。
  • Twikoo的自带域名查询如下,使用Domains下带有.vercel.app尾缀的域名。注意:在复制粘贴的时候,请检查url前是否有https://。如果没有可能重新部署NotionNext后,显示没有配置Twikoo的环境ID。
notion image

2、重新部署

和上诉重新部署方法相同,不做重复记录。

🤗 测试

1、Twikoo是否部署成功

有以下内容显示,便是部署成功。
notion image

2、点开网站,显示评论框,但无法评论总是报错

windows系统的浏览器点击F12,开启开发者工具,查看具体错误。

1)错误一

Access to XMLHttpRequest... has been blocked by CORS policy Twikoo: 评论失败 0 Uncaught (in promise) 0
该错误说明在Twikoo配置中,没有成功配置跨域连接。

1)解决方法

module.exports = async function (req, res) { // 设置允许跨域访问 res.setHeader('Access-Control-Allow-Origin', '自定义网站域名') // 推荐开发时用 *,生产可改为你的网站域名 res.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS') res.setHeader('Access-Control-Allow-Headers', 'Content-Type')// 处理 OPTIONS 预检请求(CORS 规范需要) if (req.method === 'OPTIONS') { res.status(200).end() return }// 调用 Twikoo 原始处理函数 return handler(req, res) }
将上诉代码复制到GitHub的index.js中。位置api/index.js。

2)错误二

twikoo.min.js:2 Uncaught (in promise) 0
该错误主要是配置Twikoo的环境ID的Value值输入错误,请仔细核查是否复制的是Domains下的。

📎 参考文章

 
💡
以上便是Twikoo插件的部署流程,如果有什么其他问题。欢迎您在底部评论区留言,一起交流学习~
上一篇
XTerminal
下一篇
记录-为什么模型推理时,显存占用分析只需要KV-Catch而没有Q-Catch

评论
Loading...