构建JavaScript简易Markdown预览器时使用marked库报错:TypeError: marked.parse is not a function
解决 TypeError: marked.parse is not a function 问题
这个报错大概率是marked库版本不匹配或者导入/调用方式不对导致的,下面给你一步步排查和解决的方案:
1. 先确认你的marked版本
首先运行这个命令查看当前安装的marked版本:
npm list marked
如果版本是 v3.x 或更早
在marked v4.0.0之前,并没有marked.parse这个方法,直接调用marked()函数就能解析Markdown字符串:
// 替换掉 marked.parse(string) const htmlOutput = marked(yourMarkdownString);
如果版本是 v4.x 及以上
如果版本符合要求但还是报错,检查以下两点:
- 确认导入方式正确:
默认导入的情况下,marked对象本身包含parse方法,也可以直接调用marked作为函数(效果和parse一致):
或者你也可以直接导入import marked from "marked"; // 两种写法都可行 const html1 = marked.parse(yourMarkdownString); const html2 = marked(yourMarkdownString);parse方法:import { parse } from "marked"; const html = parse(yourMarkdownString); - 尝试更新到最新版本:
如果你装的是v4.x但还是有问题,可能是版本bug,更新到最新版试试:npm update marked --save
额外小提示
在React项目里渲染解析后的HTML时,记得用dangerouslySetInnerHTML,比如:
<div dangerouslySetInnerHTML={{ __html: marked.parse(yourMarkdownString) }} />
内容的提问来源于stack exchange,提问作者double-dash-deli
相关产品推荐
相关产品推荐

