Jeg får feilmeldinger om at en fil, min.map
, ikke blir funnet:
GET jQuery's jquery-1.10.2.min.map utløser en 404 (ikke funnet).
Hvor kommer dette fra?
Hvis Chrome DevTools rapporterer en 404-melding for en .map-fil (kanskje jquery-1.10.2.min.map
, jquery.min.map
eller jquery-2.0.3.min.map
, men det kan skje med hva som helst), er det første du må vite at dette bare blir forespurt når du bruker DevTools.
**Brukerne dine vil ikke treffe denne 404.
Nå kan du fikse dette eller deaktivere sourcemap-funksjonaliteten.
Dette er en enkel løsning. Gå til http://jquery.com/download/ og klikk på lenken Last ned kartfilen for din versjon, og du vil også laste ned den ukomprimerte filen.
Skriv inn bildebeskrivelsen her]1.
Når du har map-filen på plass, kan du feilsøke din minifiserte jQuery via de opprinnelige kildene, noe som sparer deg for mye tid og frustrasjon hvis du ikke liker å håndtere variabelnavn som a
og c
.
Du kan lese mer om kildekart her: En introduksjon til JavaScript-kildekart
I stedet for å hente filene, kan du alternativt deaktivere JavaScript-kildekart fullstendig i innstillingene dine. Dette er et godt valg hvis du aldri planlegger å feilsøke JavaScript på denne siden. Bruk tannhjulsikonet nederst til høyre i DevTools for å åpne innstillingene, og deretter: .
Du kan fjerne 404 ved å fjerne linjen
//@ sourceMappingURL=jquery-1.10.2.min.map
fra den øverste delen av jQuery-filen.
Den øverste delen av jQuery-filen vil se slik ut.
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/
Bare endre det til
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */
I bunn og grunn er det en måte å mappe en kombinert/minifisert fil tilbake til en ubygd tilstand. Når du bygger for produksjon, genererer du et kildekart som inneholder informasjon om de opprinnelige filene, samtidig som du minifiserer og kombinerer JavaScript-filene. Når du spør etter et bestemt linje- og kolonnenummer i det genererte JavaScriptet, kan du gjøre et oppslag i kildekartet som returnerer den opprinnelige plasseringen. Utviklerverktøy (for øyeblikket WebKit nightly builds, Google Chrome eller Firefox 23+) kan analysere kildekartet automatisk og få det til å se ut som om du kjører uminifiserte og ukombinerte filer. (Les mer om dette her)
Slik jeg forstår nettleseren, i hvert fall Chrome, deaktiverer den ikke kildekartleggingen som standard. Det betyr at applikasjonens brukere som standard vil utløse denne forespørselen om kildekartlegging.
Du kan fjerne kildetilordningen ved å slette //@ sourceMappingURL=jquery.min.map
fra JavaScript-filen.