Quick Start
Try Nitro online
Get a taste of Nitro in your browser using our playground.
Create a Nitro project
The fastest way to create a Nitro application is using the create-nitro-app.
npx create-nitro-app
yarn dlx create-nitro-app
pnpm dlx create-nitro-app
bunx create-nitro-app
deno run -A npm:create-nitro-app
Preview
Follow the instructions from the CLI and you will be ready to start your development server.
Add to a Vite project
You can add Nitro to any existing Vite project to get API routes, server-side rendering, and more.
Install nitro and vite
npm i nitro vite
yarn add nitro vite
pnpm i nitro vite
bun i nitro vite
deno i npm:nitro vite
Add Nitro plugin to Vite
Add the Nitro plugin to your vite.config.ts:
import { defineConfig } from "vite";
import { nitro } from "nitro/vite";
export default defineConfig({
plugins: [
nitro()
],
});
Configure Nitro
Create a nitro.config.ts to configure the server directory:
import { defineNitroConfig } from "nitro/config";
export default defineNitroConfig({
serverDir: "./server",
});
The serverDir option tells Nitro where to look for your server routes. In this example, all routes will be inside the server/ directory.
Create an API route
Create your first API route at server/api/test.ts:
import { defineHandler } from "nitro/h3";
export default defineHandler(() => {
return { message: "Hello Nitro!" };
});
The file path maps directly to the route URL — server/api/test.ts becomes /api/test.
routes config option. See Programmatic route handlers for more details.Response instances, or readable streams from your handlers. See Routing for more about dynamic routes, methods, and middleware.Start the development server
npm run dev -- --open
yarn dev -- --open
pnpm dev -- --open
bun run dev -- --open
deno run dev -- --open
Your API route is now accessible at http://localhost:3000/api/test ✨