Saltar al contenido principal
El desarrollo local te permite ejecutar tu proyecto de backend en tu propia máquina para que puedas probar los cambios al instante, inspeccionar datos sin afectar a producción y detectar problemas antes de desplegar. Consulta Configuración para los requisitos previos y las instrucciones paso a paso.

Qué se ejecuta localmente

El servidor de desarrollo gestiona estas funciones por completo en tu máquina:
  • Funciones: Las funciones de backend se ejecutan localmente con recarga automática al cambiar los archivos.
  • Entidades: Los datos de las entidades se almacenan en una base de datos local en memoria. Los cambios de esquema se detectan automáticamente.
  • Medios: Las subidas de archivos se guardan localmente.
  • Autenticación: El registro e inicio de sesión con email/contraseña se ejecutan localmente.
Las automatizaciones de funciones no se ejecutan localmente.

Qué se reenvía

Algunas funciones aún no se gestionan localmente. Cuando el servidor de desarrollo recibe una solicitud que no puede atender, la reenvía a tu app desplegada para que la llamada siga funcionando. El servidor registra una advertencia cada vez que esto ocurre. Entre las funciones reenviadas se incluyen:
  • Autenticación: Las rutas OAuth e inicio de sesión social se redirigen a Base44 para que las cookies de sesión funcionen correctamente. La autenticación con email/contraseña se ejecuta localmente.
  • Integraciones principales: Endpoints como SendEmail o la generación con IA se reenvían. Las subidas de archivos son la excepción y se ejecutan localmente.
  • Integraciones personalizadas: Las llamadas a API configuradas mediante especificaciones OpenAPI.
Esto significa que tu app sigue funcionando de extremo a extremo durante el desarrollo. Las funciones que se ejecutan localmente usan datos locales, y todo lo demás usa producción.

Funciones

Las funciones de backend se ejecutan localmente en tu máquina. Puedes llamarlas desde tu frontend igual que a las funciones desplegadas.
  • Cada función se ejecuta como un proceso de Deno independiente, que debe instalarse por separado.
  • Las funciones se recargan automáticamente al editar el código fuente.
  • La salida de la función se imprime directamente en tu terminal. No necesitas usar base44 logs durante el desarrollo local.
Cuando una solicitud llega al servidor de desarrollo y se redirige a tu función local de Deno, el servidor puede añadir o normalizar headers para que tu función vea la misma forma de contexto que en producción:
  • Base44-App-Id: Se establece a partir del header entrante X-App-Id cuando está presente.
  • Base44-Service-Authorization: Se establece a partir del header entrante Authorization cuando está presente, para que el código que lee el header de autorización del servicio localmente coincida con el comportamiento desplegado.
  • Base44-Api-Url: Se establece a la URL base de tu servidor de desarrollo (esquema y host), para que las funciones puedan construir callbacks o URLs absolutas contra el servidor local.
El header original Authorization sigue reenviándose sin cambios.
La primera solicitud a una función puede ser más lenta porque el servidor de desarrollo inicia el proceso bajo demanda. Las solicitudes siguientes reutilizan el proceso en ejecución.

Entidades

Las operaciones de entidad van a una base de datos local en memoria en lugar de a la base de datos remota. Esto te permite crear, leer, actualizar y eliminar registros sin afectar a tus datos de producción.
  • Todos los datos se almacenan en memoria y se borran cuando detienes el servidor de desarrollo.
  • Los cambios de esquema se detectan automáticamente. Cambiar el esquema de una entidad borra todos los datos en memoria de esa entidad.
  • Las suscripciones en tiempo real funcionan localmente. Si tu frontend usa entities.subscribe(), recibe eventos por los cambios locales de entidades.
  • La entidad User se ejecuta localmente. Al iniciarse, el servidor de desarrollo crea un único registro de usuario usando tus credenciales del CLI autenticadas. Las operaciones de lectura y actualización en me funcionan como en producción. Las solicitudes para crear o eliminar usuarios se ignoran silenciosamente, lo que coincide con el comportamiento de producción donde no se permite la gestión directa de usuarios.

Medios

Las subidas de archivos se gestionan localmente para que puedas probar las funciones de medios sin subir a almacenamiento de producción. Los archivos se guardan en un directorio temporal y se limpian cuando se detiene el servidor de desarrollo. El tamaño máximo de archivo es 50 MB.

Autenticación

El registro e inicio de sesión con email/contraseña se ejecutan localmente cuando tu app usa el sistema de autenticación integrado. Las rutas OAuth e inicio de sesión social se redirigen a Base44. Para registrar un nuevo usuario durante el desarrollo usando autenticación con email/contraseña:
  1. Llama al endpoint de registro. El servidor de desarrollo imprime un código de verificación de un solo uso en tu terminal en lugar de enviar un email.
  2. Envía el código al endpoint verify-OTP para confirmar la dirección y crear el usuario.
  3. Inicia sesión con el email y la contraseña registrados.
Tu cuenta de desarrollador (el email que usaste para base44 login) puede iniciar sesión con cualquier contraseña, sin necesidad de registrarse.
Los tokens emitidos por el servidor de desarrollo local solo son válidos localmente. Están firmados con un secreto diferente al de producción, por lo que tu app desplegada los rechazará. Cuando cambies del desarrollo local a tu app desplegada, primero cierra sesión de tu sesión local o elimina los tokens del almacenamiento local de tu navegador. Luego, inicia sesión de nuevo a través de la app desplegada para obtener un token válido.

Ver también

Esta página se tradujo con IA. Para información más precisa y actualizada, consulta la versión en inglés.