如何在gatsby-transformer-remark中配置remark插件?remark-breaks报错求助
解决Gatsby中使用remark-breaks插件的"Cannot read property 'Parser' of undefined"报错
这个问题并不是只能用Gatsby官方插件,核心是版本兼容性的问题,我来给你梳理清楚:
问题根源
gatsby-transformer-remark目前依赖的是旧版本的remark(v12及以下),而你安装的remark-breaks大概率是最新的v3.x版本——这个版本是为remark v13+设计的,API已经发生了变化,不再直接暴露Parser对象,所以才会抛出这个类型错误。
解决方案
安装兼容旧版remark的remark-breaks版本(v2.0.0)即可:
# 使用npm安装 npm install remark-breaks@2.0.0 # 或者使用yarn yarn add remark-breaks@2.0.0
安装完成后,你的原有配置不管是对象形式还是字符串形式都能正常工作:
{ resolve: "gatsby-transformer-remark", options: { plugins: [ "remark-breaks", // 现在可以正常运行了 // 或者写成 { resolve: "remark-breaks" } 也没问题 ] } }
补充说明
如果之后gatsby-transformer-remark官方升级到支持remark v13+,你就可以直接升级remark-breaks到最新版本了。但在那之前,v2.0.0是最稳妥的兼容选择。
内容的提问来源于stack exchange,提问作者pfcao
相关产品推荐
相关产品推荐

