9caca2784c
This helps catch conflicting paths returned from `getStaticPaths` with a friendly error <details> <summary> Preview of error </summary> <img width="962" alt="Screen Shot 2021-01-08 at 5 03 04 PM" src="https://user-images.githubusercontent.com/22380829/104074719-6e481100-51d6-11eb-9397-938aee3ae30b.png"> <img width="962" alt="Screen Shot 2021-01-08 at 5 03 41 PM" src="https://user-images.githubusercontent.com/22380829/104074722-6f793e00-51d6-11eb-90f6-7cdf9882bf00.png"> </details> Closes: https://github.com/vercel/next.js/issues/19527
1.5 KiB
1.5 KiB
Conflicting SSG Paths
Why This Error Occurred
In your getStaticPaths
function for one of your pages you returned conflicting paths. All page paths must be unique and duplicates are not allowed.
Possible Ways to Fix It
Remove any conflicting paths shown in the error message and only return them from one getStaticPaths
.
Example conflicting paths:
// pages/hello/world.js
export default function Hello() {
return 'hello world!'
}
// pages/[...catchAll].js
export const getStaticProps = () => ({ props: {} })
export const getStaticPaths = () => ({
paths: [
// this conflicts with the /hello/world.js page, remove to resolve error
'/hello/world',
'/another',
],
fallback: false,
})
export default function CatchAll() {
return 'Catch-all page'
}
Example conflicting paths:
// pages/blog/[slug].js
export const getStaticPaths = () => ({
paths: ['/blog/conflicting', '/blog/another'],
fallback: false,
})
export default function Blog() {
return 'Blog!'
}
// pages/[...catchAll].js
export const getStaticProps = () => ({ props: {} })
export const getStaticPaths = () => ({
paths: [
// this conflicts with the /blog/conflicting path above, remove to resolve error
'/blog/conflicting',
'/another',
],
fallback: false,
})
export default function CatchAll() {
return 'Catch-all page'
}