Gatsby.js:Markdown中的预处理相对路径链接

dou*_*lin 5 markdown reactjs contentful gatsby

我想知道是否有办法(可能通过为其创建插件gatsby-transformer-remark)将相对路径链接转换为使用<Link>from的方式gatsby-link

例如,说我在markdown文件中包含以下内容:

# Here is a Header

Check out my about page:

[About](/about)
Run Code Online (Sandbox Code Playgroud)

如果我导入此markdown并显示为:

<div dangerouslySetInnerHTML={{ __html: whatever.childMarkdownRemark.html }} />
Run Code Online (Sandbox Code Playgroud)

然后,当单击“关于”链接时,它打破了单页应用程序的魔力。

有什么办法可以防止这种情况?提前致谢。

Nen*_*enu 6

有一个名为gatsby-plugin-catch-links的插件

安装它:

npm install --save gatsby-plugin-catch-links
Run Code Online (Sandbox Code Playgroud)

将其添加到您的gatsby-config.js文件中:

// In your gatsby-config.js
plugins: [`gatsby-plugin-catch-links`];
Run Code Online (Sandbox Code Playgroud)

您可以在https://using-remark.gatsbyjs.org/上找到有关如何在Gatsby中使用备注的很好的文档。

对于您的问题,我在这里找到了这篇文章