Routing - exta
Docs
Getting started
Routing

Routing

#Folders and Files Conventions

#Folders

Folders in the root directory are used to distinguish the purpose of files. The most common one is the /pages/ directory, which contains all route-related files.

Directory
/pages/Pages directory

#Files

Certain file names are treated as special routing files and are not directly included as routes themselves. They provide framework-level behavior such as layouts and error handling.

FilenameExtensionDescription
_layout.tsx, .jsxLayout component wrapper
_error.tsx, .jsxError page (e.g., 404)

#Routes

The following examples show how file names are mapped to routes:

FilenameExtensionPath
index.tsx, .jsx/
foo/index.tsx, .jsx/foo
foo/bar.tsx, .jsx/foo/bar
foo/bar/index.tsx, .jsx/foo/bar

#Dynamic Routes

Dynamic segments are declared using square brackets [ ]. This makes it possible to capture values from the URL.

FilenameExtensionPath
path/[param].tsx, .jsx/:param
path/[param]/index.tsx, .jsx/:param
path/[param]/list.tsx, .jsx/:param/list

Catch-all route segments like [...] are not supported for static route generation. This restriction ensures that all possible paths are explicitly defined at build time.