开发Markdown博客启动服务报TypeError: marked is not a function错误如何解决
个人博客项目
TypeError: marked is not a function报错解决方案 问题根因
该报错与dompurify、jsdom依赖无关,是marked依赖的版本迭代引发的语法不兼容问题。教程配套代码使用的是marked v3及更早版本的调用语法,你本地直接安装的是v4及以上版本的marked,新版对导出逻辑做了破坏性变更,原有调用方式无法识别。
解决方案
以下两种方案二选一即可:
方案1:降级marked到兼容旧语法的版本
直接执行命令安装教程适配的marked版本:npm install marked@3.0.8
安装完成后无需修改原有代码,重新启动项目即可正常运行。
方案2:修改代码适配新版marked语法
找到项目中调用marked函数的代码段,将原来的函数调用形式替换为新版的parse方法调用:
旧版写法示例:
const marked = require('marked') const renderedHtml = marked(markdownContent)
修改后的新版写法:
const marked = require('marked') const renderedHtml = marked.parse(markdownContent)
修改完成后保存文件,重启项目即可。
验证方式
项目重启后测试文章提交、Markdown内容渲染功能,确认无报错、内容可正常保存展示即可。
内容的提问来源于stack exchange,提问作者Jamie Vaughan
相关产品推荐
相关产品推荐

