Nxpress LogoNxpressv1.3.8
04

File-Based Routing Architecture

The directory structure inside app/ defines your application routes automatically.

Supported File Types

  • View templates: .ejs, .njk, .nunjucks, .hbs, .liquid, .html
  • Page companion files: .ts or .js files sharing the same base name as the view (e.g. index.ts for index.ejs)
  • API route files: Any .ts or .js file located under app/api/
  • Folder middleware files: middleware.ts or middleware.js

Dynamic Route Syntax, Slugs & Route Groups

  • Route Groups (app/(group)/...): Parenthesized folders organize routes and nested layouts without affecting URL pathnames (e.g. app/(auth)/login.ejs -> /login, app/(dashboard)/settings.ejs -> /settings).
PatternExample File PathMatched RouteCompanion AccessView Access
Single Parameterapp/products/[id].ejs/products/:idreq.params.idR.params.id
Catch-All Wildcard Slugapp/docs/[...slug].ejs/docs/*req.params.slugR.params.slug
Index Routeapp/index.ejs/N/AN/A
Route Groupsapp/(auth)/login.ejs/loginN/AN/A

Reserved Filenames

FilenameRole
layout.ejsNested layout template wrapping page templates in the current folder.
middleware.ts / middleware.jsDirectory-level middleware (never routed as a standalone page).
404.ejs, 500.ejs, not-found.ejs, error.ejsCustom HTTP status error fallback templates.