¿Qué es el formato de archivo MAP?
Un archivo .map es un documento JSON de texto plano que vincula la salida minificada o compilada (un archivo .js empaquetado o una hoja de estilo CSS compilada) con el código fuente original legible por humanos. Las herramientas de construcción como webpack, Vite, esbuild y el compilador de TypeScript (tsc) generan archivos .map automáticamente junto con su salida.
El formato se estandarizó como Source Map Revision 3 alrededor de 2011 y ahora es compatible universalmente en todos los principales flujos de trabajo de JavaScript y CSS. Un mapa de fuente se ubica junto al archivo que describe (app.js produce app.js.map, styles.css produce styles.css.map) y el archivo minificado lo referencia mediante un comentario final: //# sourceMappingURL=app.js.map (o /*# sourceMappingURL=styles.css.map */ para CSS).
El núcleo de cada mapa de fuente es el campo mappings: una cadena compacta codificada en Base64 VLQ que registra una traducción segmento por segmento desde cada posición de carácter en la salida hasta la línea y columna correspondiente en la fuente original. Otros campos contienen las rutas de los archivos originales (sources), opcionalmente el texto fuente completo (sourcesContent) y nombres de símbolos (names).
Las herramientas para desarrolladores del navegador (Chrome DevTools, Firefox Developer Tools y Safari Web Inspector) consumen archivos .map de forma transparente. Los desarrolladores pueden establecer puntos de interrupción en TypeScript o SCSS y navegar por el código original aunque el navegador ejecute la salida minificada. El archivo .map solo se descarga cuando las DevTools están abiertas; no añade ninguna carga adicional a la navegación normal.
Seguridad y protección
RIESGO: LOWUn mapa de fuente es un JSON pasivo y no ejecuta código, por lo que abrir uno es inofensivo. La verdadera preocupación es de privacidad/seguridad para los desarrolladores: los mapas de fuente enviados a producción pueden exponer su código fuente original sin minificar (y a veces comentarios, rutas de archivos o sourcesContent) a cualquiera que abra las DevTools. Muchos equipos eliminan o bloquean deliberadamente los archivos .map en servidores públicos por este motivo. Si encuentra archivos .map inesperados en un sitio en vivo, puede ser un problema de divulgación de información que vale la pena corregir.
Detalles del formato
en pocas palabras- Datos GIS de MapInfo (.map + .tab) - Almacén de geometría binaria para una tabla de MapInfo; se abre a través de su compañero .tab en QGIS o MapInfo Pro, no por sí solo.
- Mapa de nivel de juego - Geometría de nivel en texto plano de los editores id Tech / Quake / Source / Radiant, compilada a un nivel binario (ej. .bsp) para jugar.
- Mapa de enlazador / depuración - Listado en texto plano de direcciones de símbolos y diseño de memoria emitido por un compilador/enlazador para depurar fallos.
Programas que abren archivos MAP
Detalles técnicos
especificación profunda| Tipo de formato | JSON de texto plano (UTF-8); sin bytes mágicos binarios |
| Especificación | Source Map Revision 3 (v3) |
| Tipo MIME | application/json |
| Codificación de mapeos | Base64 VLQ (Variable-Length Quantity): codifica desplazamientos de línea y columna para cada segmento de salida |
| Campos JSON obligatorios | version (debe ser igual a 3), sources (matriz de rutas de archivos originales), mappings (cadena codificada en VLQ) |
| Campos JSON opcionales | sourcesContent (texto original incrustado), names (lista de símbolos), sourceRoot (prefijo de ruta para todas las fuentes) |
| Convención de nomenclatura | Nombre del archivo de salida con .map añadido: app.js → app.js.map, styles.css → styles.css.map |
| Comentario de enlace de fuente (JS) | //# sourceMappingURL=filename.js.map - añadido a la última línea del archivo minificado |
| Comentario de enlace de fuente (CSS) | /*# sourceMappingURL=filename.css.map */ - añadido a la hoja de estilo compilada |
| Generadores típicos | webpack, Vite, esbuild, compilador de TypeScript (tsc), Dart Sass, Rollup, Parcel |
| Consumido por | DevTools del navegador: Chrome DevTools, Firefox Developer Tools, Safari Web Inspector, Edge DevTools |
| Precisión de mapeo | Nivel de columna: cada segmento VLQ mapea una sola columna de salida a una línea y columna de origen |
| Tamaño del archivo | Normalmente de 2 a 10 veces el tamaño de la salida minificada; crece más cuando se incrusta sourcesContent |
| Alternativa de entrega HTTP | Encabezado de respuesta X-SourceMap (obsoleto; el comentario en línea es el método preferido) |
| Activación de DevTools | Se descarga solo cuando las DevTools del navegador están abiertas; no se solicita durante la carga normal de la página |
| Lanzado | Source Map format v3 (~2011); ubiquitous with modern JS/CSS build tooling |
| Estándar abierto | Sí · libre de regalías |
| Especificación | sourcemaps.info |
Conversiones de MAP
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos MAP.