mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
This adds a new `experimental.middlewarePrefetch` config with two modes with the default being the `flexible` config. - `strict` only prefetches when the `href` explicitly matches an SSG route (won't prefetch for middleware rewrite usage unless manual `href`/`as` values are used) - `flexible` always prefetches ensuring middleware rewrite usage is handled and also prevents executing SSR routes during prefetch to avoid unexpected invocations x-ref: https://github.com/vercel/next.js/pull/39920 x-ref: [slack thread](https://vercel.slack.com/archives/C047HMFN58X/p1668473101696689?thread_ts=1667856323.709179&cid=C047HMFN58X) ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have a helpful link attached, see `contributing.md` ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have a helpful link attached, see `contributing.md` ## Documentation / Examples - [ ] Make sure the linting passes by running `pnpm build && pnpm lint` - [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
31 lines
553 B
JavaScript
31 lines
553 B
JavaScript
import { useRouter } from 'next/router'
|
|
|
|
export default function Page() {
|
|
const router = useRouter()
|
|
|
|
return (
|
|
<>
|
|
<p id="page">/static-ssg/[slug]</p>
|
|
<p id="query">{JSON.stringify(router.query)}</p>
|
|
<p id="pathname">{router.pathname}</p>
|
|
<p id="as-path">{router.asPath}</p>
|
|
</>
|
|
)
|
|
}
|
|
|
|
export function getStaticPaths() {
|
|
return {
|
|
paths: ['/static-ssg/first'],
|
|
fallback: 'blocking',
|
|
}
|
|
}
|
|
|
|
export function getStaticProps({ params }) {
|
|
return {
|
|
props: {
|
|
now: Date.now(),
|
|
params,
|
|
},
|
|
}
|
|
}
|