【发布时间】:2020-03-05 23:34:01
【问题描述】:
我正在尝试以编程方式创建具有动态路由的页面,但遇到了无法创建动态路由的问题。
在我的 gatsby-node.js 中有
exports.createPages = async ({ graphql, actions }) => {
const { createPage } = actions
{...graphql query}
locations.forEach(edge => {
createPage({
path: `/${edge.node.path}/details`,
component: path.resolve(`./src/templates/detailsTemplate.js`),
context: { name: edge.node.name }
})
})
}
exports.onCreatePage = async ({ page, actions }) => {
const { createPage } = actions
if (page.path.match(/^(.*?)\/details/)) {
page.matchPath = "/details/*"
// Update the page.
createPage(page)
}
}
我的 gatsby-config.js 是:
{
resolve: `gatsby-plugin-create-client-paths`,
options: { prefixes: [`/details/*`] },
},
然后我使用到达路由器创建路由: :位置/详细信息/常见问题解答 :位置/详细信息/联系方式 等等……
但是它没有正确匹配路由。
【问题讨论】:
标签: gatsby