For a page /pages/film.page.js
, a Route String can be defined in a /pages/film.page.route.js
adjacent file.
// /pages/film.page.route.js
// Match URLs `/film/1`, `/film/2`, ...
export default '/film/@filmId'
The value of filmId
is available at pageContext.routeParams.filmId
.
We can define multiple parameters.
// /pages/film.page.route.js
// Parameters available at:
// - `pageContext.routeParams.year`
// - `pageContext.routeParams.slug`
export default '/news/@year/@slug'
We can use Route Strings to implement catch-all routes.
Upon Route String conflicts, vite-plugin-ssr
chooses the first route from most specific to least specific.
See Routing > Routing Precedence.
@
The special character @
cannot be escaped, use a Route Function instead.
For more advanced routing, we can use Route Functions which are fundamentally more powerful than Route Strings.