public/ en la raíz de tu aplicación contiene archivos estáticos: imágenes, íconos, fuentes o cualquier otro recurso que tu aplicación necesite en tiempo de ejecución. Estos archivos se incluyen automáticamente en las compilaciones, se sincronizan durante el modo de desarrollo y se suben al servidor.
Los archivos ubicados en public/ son:
- De acceso público — una vez sincronizados con el servidor, los recursos se sirven en una URL pública. No se necesita autenticación para acceder a ellos.
- Disponibles en componentes de frontend — usa las URLs de los recursos para mostrar imágenes, íconos o cualquier medio dentro de tus componentes de React.
- Disponibles en funciones de lógica — referencia las URLs de los recursos en correos electrónicos, respuestas de API o cualquier lógica del lado del servidor.
- Usados para metadatos del marketplace — los campos
logoUrlyscreenshotsendefineApplication()referencian archivos de esta carpeta (p. ej.,public/logo.png). Estos se muestran en el marketplace cuando se publica tu aplicación. - Sincronizados automáticamente en modo de desarrollo — cuando agregas, actualizas o eliminas un archivo en
public/, se sincroniza automáticamente con el servidor. No se necesita reiniciar. - Incluidos en las compilaciones —
yarn twenty dev:buildagrupa todos los recursos públicos en la salida de distribución.
Acceder a recursos públicos con getPublicAssetUrl
Usa el helper getPublicAssetUrl de twenty-sdk para obtener la URL completa de un archivo en tu directorio public/. Funciona tanto en funciones de lógica como en componentes de frontend.
En una función de lógica:
src/logic-functions/send-invoice.ts
src/front-components/company-card.tsx
path es relativo a la carpeta public/ de tu aplicación. Tanto getPublicAssetUrl('logo.png') como getPublicAssetUrl('public/logo.png') resuelven a la misma URL — el prefijo public/ se elimina automáticamente si está presente.