/nitro

⚗️ Build and deploy universal JavaScript servers

Primary LanguageTypeScriptMIT LicenseMIT

npm version npm downloads npm-edge version npm-edge downloads

⚗️ Nitro

Build and Deploy Universal JavaScript Servers

Why use Nitro?

Nitro provides a powerful toolchain and a runtime framework from the UnJS ecosystem to build and deploy any JavaScript server, anywhere!

❯ 🐇 Rapid development experience with hot module replacement
❯ 😌 Multi-provider deployments with a single codebase and zero-configuration
❯ 💼 Portable and compact deployments without node_modules dependency
❯ 📁 Directory structure aware to register API routes and more with zero configuration
❯ 🤏 Minimal Design to fit into any solution with minimum overhead
❯ 🚀 Code-splitting and async chunk loading for fast server startup time
❯ 👕 TypeScript fully supported
❯ 💾 Multi-driver storage and caching layer
❯ 💰 Route caching and static pre-rendering with built-in crawler
❯ 🐱 Hackable to extend almost any part of nitro using options
❯ ✨ Auto imports for lazy folks and a tidy minimal codebase
❯ 🏛️ Best-effort compatibility for using legacy npm packages and mocking Node.js modules

Who is using Nitro?

Nuxt 3 is using Nitro as its server engine.





😺 Quick Start

0️⃣ Create an empty directory nitro-app

mkdir nitro-app
cd nitro-app

1️⃣ Create routes/index.ts:

export default defineEventHandler(() => "nitro is amazing!");

2️⃣ Start development server:

npx nitropack dev

🪄 Your API is ready at http://localhost:3000/

Check .nitro/dev/index.mjs if want to know what is happening

3️⃣ You can now build your production-ready server:

npx nitropack build

4️⃣ Output is in the .output directory and ready to be deployed on almost any VPS with no dependencies. You can locally try it too:

node .output/server/index.mjs

That's it you got it! Read the documentation to learn more.


🌱 nitro is young and under development

Check 🐛 open issues for the known issues and roadmap and tell us 💡your ideas!


License

Made with 💛 Published under MIT.