¿Cómo puedo utilizar mapas fuente de JavaScript (archivos .map)?

Resuelto Muhammad Reda asked hace 10 años • 5 respuestas

Recientemente he visto archivos con la .js.mapextensión incluida en algunas bibliotecas de JavaScript (como Angular ), y eso generó algunas preguntas en mi cabeza:

  • ¿Para qué sirve? ¿Por qué a los chicos de Angular les importa entregar un .js.maparchivo?
  • ¿Cómo puedo (como desarrollador de JavaScript) utilizar el angular.min.js.maparchivo?
  • ¿ Debería preocuparme por crear .js.maparchivos para mis aplicaciones JavaScript?
  • ¿Cómo se crea? Le eché un vistazo angular.min.js.mapy estaba lleno de cadenas con formatos extraños, así que supongo que no se creó manualmente.
Muhammad Reda avatar Feb 12 '14 12:02 Muhammad Reda
Aceptado

Los .maparchivos son para archivos JavaScript y CSS (y ahora también TypeScript) que han sido minimizados. Se llaman mapas fuente . Cuando minimizas un archivo, como el archivo angular.js , se necesitan miles de líneas de código bonito y las convierte en solo unas pocas líneas de código feo. Con suerte, cuando envíe su código a producción, esté utilizando el código minimizado en lugar de la versión completa y no minimizada. Cuando su aplicación está en producción y tiene un error, el mapa fuente le ayudará a tomar su archivo feo y le permitirá ver la versión original del código. Si no tuviera el mapa fuente, cualquier error parecería, en el mejor de los casos, críptico.

Lo mismo para los archivos CSS. Una vez que toma un archivo Sass o Less y lo compila en CSS, no se parece en nada a su forma original. Si habilita los mapas de origen, podrá ver el estado original del archivo, en lugar del estado modificado.

Entonces, para responder sus preguntas en orden:

  • ¿Para qué sirve? Para eliminar la referencia al código feo
  • ¿Cómo puede usarlo un desarrollador? Lo usas para depurar una aplicación de producción. En modo de desarrollo puedes utilizar la versión completa de Angular. En producción, usarías la versión minimizada.
  • ¿Debería preocuparme por crear un archivo js.map? Si le interesa poder depurar el código de producción más fácilmente, entonces sí, debería hacerlo.
  • ¿Cómo se crea? Se crea en el momento de la construcción. Existen herramientas de compilación que pueden crear su archivo .map por usted como lo hacen con otros archivos. Los mapas de origen fallan si el archivo de salida no se encuentra en el directorio raíz del proyecto #71

Espero que esto tenga sentido.

frosty avatar Feb 12 '2014 05:02 frosty

¿Cómo puede usarlo un desarrollador?

  1. No vincule su archivo js.map en su archivo index.html (no es necesario)

  2. Las herramientas de minificación (las buenas) agregan un comentario a su archivo .min.js :

    //# sourceMappingURL=yourFileName.min.js.map
    

    que conectará su archivo .map .

    Cuando los archivos min.js y js.map estén listos...

  3. Chrome: abra dev-tools , navegue hasta la pestaña Fuentes . Verá la carpeta de fuentes , donde se guardan los archivos de aplicaciones no minificadas.

garfunkel61 avatar Apr 11 '2016 16:04 garfunkel61