No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 

15 líneas
813 B

  1. import { BASE_PATH } from './config';
  2. // Prefissa con BASE_PATH gli URL assoluti gestiti a mano (fetch, src, href, font url).
  3. // Next applica basePath solo a next/link/router/image e agli asset _next/ — non alle
  4. // stringhe URL scritte a mano. Gli URL salvati in data/ restano senza prefisso
  5. // (portabili tra macchine con basePath diverso); il prefisso si aggiunge solo qui, al render.
  6. export function withBasePath(p?: string | null): string {
  7. if (!p) return p ?? '';
  8. if (!BASE_PATH) return p;
  9. if (/^(https?:|data:|blob:|mailto:|tel:)/i.test(p)) return p; // URL esterni/non-path
  10. if (!p.startsWith('/')) return p; // path relativi: invariati
  11. if (p === BASE_PATH || p.startsWith(BASE_PATH + '/')) return p; // già prefissato (idempotente)
  12. return `${BASE_PATH}${p}`;
  13. }