Init Inicializar App
Inicializa tu aplicación Blue Bird.
npx blue-bird
Una estructura potente basada en Express y React, diseñada para crear aplicaciones rápidas con componentes hidratados (Islands) y todo lo que necesitas pre-configurado.
npm install @seip/blue-bird
¿Cansado de configurar CORS, Body Parsers, Cookies y Routing cada vez que inicias un proyecto? Blue Bird provee una base sólida y pre-configurada para que vayas directo a la lógica, sin perder la extensibilidad pura de Express.
Express, React (con Islas), Validaciones, JWT Auth y Uploads listos para usar.
Usa el método `.use()` para configurar middleware de Express tal como lo haces siempre.
Diseñado para escalar con elegancia.
Generación y validación de tokens con middleware listo para proteger tus rutas API o Web.
Motor de validación multi-idioma con reglas predefinidas y mensajes automáticos.
Subida de archivos a disco facilitada por Multer, configurada para tu carpeta pública.
React y React Router pre-configurados para SPA, Islands o páginas tradicionales.
Vite listo para usar, optimizado para desarrollo y producción.
Express pre-configurado para modo API o modo Web tradicional.
Todo sobre la API Core de Blue Bird.
Inicializa tu aplicación Blue Bird.
npx blue-bird
Configura React para tu aplicación Blue Bird.
npm run react
Inicia el servidor backend:
npm run dev
Inicia el servidor frontend (Vite):
npm run vite:dev
Configuración central de tu servidor Express.
import App from "@seip/blue-bird/core/app.js";
import routerUsers from "./routes/users.js";
const app = new App({
port: 3000,
routes: [routerUsers],
cors: { origin: '*' }
});
// Extiende Express con .use()
app.use(myCustomMiddleware);
//Ó app.set(key,value) Ejemplo: app.set('view engine', 'ejs');
app.run();
| Opción | Tipo | Default |
|---|---|---|
| port | Number | 3001 |
| host | String | "http://localhost" |
| routes | Array | [] |
| middlewares | Array | [] |
| logger | Boolean | true |
| json | Boolean | true |
| static | Object | public (default) |
| cookieParser | Boolean | true |
Maneja tus rutas de forma modular y límpia.
import Router from "@seip/blue-bird/core/router.js";
import Template from "@seip/blue-bird/core/template.js";
const routerUsers = new Router("/")
routerUsers.get("*", (req, res) => {
// Renderizado SPA con React
return Template.renderReact(res, "App", { title: "Mi Proyecto" });
})
export default routerUsers;
Renderiza vistas completas o componentes react hidratados (Islands) con un solo método.
import Template from "@seip/blue-bird/core/template.js";
router.get("/", (req, res) => {
// Renderiza el componente 'Home' con props iniciales
return Template.renderReact(res, "Home", { title: "Mi App" });
});
import Validator from "@seip/blue-bird/core/validate.js";
const schema = {
email: { required: true, email: true },
password: { required: true, min: 6 }
};
const validate = new Validator(schema, 'es');
router.post("/register", validate.middleware(), (req, res) => {
res.json({ message: "OK" });
});
import Auth from "...";
Auth.generateToken(payload);
Auth.protect(); // Middleware
import Upload from "...";
Upload.disk({ folder: 'img' });
// Basado en Multer