jQuery jquery-1.10.2.min.map sta attivando un 404 (non trovato)


1061

Visualizzo messaggi di errore relativi a un file, min.mapnon trovati:

OTTIENI jquery-1.10.2.min.map di jQuery sta attivando un 404 (non trovato)


Immagine dello schermo

inserisci qui la descrizione dell'immagine

Da dove viene questo?


1
Per risolvere il mio problema, non ho seguito i dettagli di questa risposta. Il mio sito utilizza solo il file js, non la mappa. Ho semplicemente cancellato la cache del browser per risolvere il problema e ho riavviato il browser. Ha iniziato a verificarsi quando ho iniziato a ricevere un errore del server interno 500 su un gestore generico ASP.NET (ExtDirectProxy.ashx) creato e passato i dati a jquery per caricare la pagina. stackoverflow.com/questions/26135251/…
MacGyver

1
cambia la versione di cui hai bisogno e scaricala dall'URL
Iman

1
Questo rallenta i download, poiché i browser lo scaricano anche se non necessari.
Quentin 2

1
@ Quentin2 secondo html5rocks.com/en/tutorials/developertools/sourcemaps Il file della mappa di origine verrà scaricato solo se le mappe di origine sono abilitate e gli strumenti di sviluppo sono aperti.
Mathemats il

Risposte:


1271

Se Chrome DevTools sta segnalando un 404 per un file .map (forse jquery-1.10.2.min.map, jquery.min.mapo jquery-2.0.3.min.map, ma può succedere con qualsiasi cosa) la prima cosa da sapere è che questo è richiesto solo quando si utilizza DevTools. I tuoi utenti non colpiranno questo 404.

Ora puoi risolvere questo problema o disabilitare la funzionalità sourcemap.

Correzione: ottieni i file

Quindi, è una soluzione semplice. Vai su http://jquery.com/download/ e fai clic sul link Scarica il file della mappa per la tua versione e vorrai scaricare anche il file non compresso.

inserisci qui la descrizione dell'immagine

La presenza del file della mappa ti consente di eseguire il debug del tuo jQuery minimizzato tramite le fonti originali, il che farà risparmiare molto tempo e frustrazione se non ti piace gestire nomi di variabili come ae c.

Maggiori informazioni sulle mappe di origine qui: Introduzione alle mappe di origine JavaScript

Dodge: disabilita le mappe di origine

Invece di ottenere i file, in alternativa puoi disabilitare completamente le mappe di origine JavaScript per ora, nelle tue impostazioni. Questa è un'ottima scelta se non prevedi mai di eseguire il debug di JavaScript in questa pagina. Utilizzare l'icona a forma di ingranaggio in basso a destra in DevTools, per aprire le impostazioni, quindi: inserisci qui la descrizione dell'immagine


9
Sto votando per questo (anche se hai risposto alla tua domanda) perché per la prima volta l'ho notato oggi. Mi stava facendo impazzire mentre cercavo di capirlo, poi ho notato lo stesso errore 404 su 2 siti su cui stavo lavorando e mi è venuta in mente l'opzione "Abilita mappe di origine" ... ecco cosa ottengo guardando i tuoi strumenti di sviluppo parla e accende tutto in una volta. Esaminerò i documenti che hai fornito.
adam-asdf,

47
Ho due cose da aggiungere. 1) Il download di un file della mappa jQuery non è sufficiente, avrai anche bisogno di un codice sorgente non compresso (altrimenti vedrai un file jquery - *. Js vuoto durante il debug). 2) Se si sta caricando jQuery da uno dei CDN, tutti e tre i file (mappa, codice sorgente compresso e non compresso) si trovano nella stessa posizione e si può iniziare subito il debug.
Konrad Dzwinel,

42
Non sono sicuro che un 404 dovrebbe essere sollevato per questo da DevTools, confonde le persone a quanto pare. Tuttavia, almeno ora so come affrontarlo. Anche @ adam-asdf solo per sapere che sei attivamente incoraggiato a rispondere alla tua domanda su SO ... meta.stackexchange.com/questions/17845/…
Greg

12
Sono d'accordo con @Greg. Avere un errore 404 generato nella console per una mappa di origine (che è stato richiesto per conto di Chrome / DevTools) non sembra molto utile. Soprattutto perché molte persone non capiranno nemmeno perché (o da dove) viene richiesta quella risorsa.
idbehold il

9
@ SpYk3HH Va benissimo accettare la tua risposta e la modifica di librerie di terze parti non è davvero consigliabile .. perché se vuoi aggiornare qualcosa dimenticherai cosa è cambiato.
Lipis,

276

È possibile rimuovere il 404 rimuovendo la linea

//@ sourceMappingURL=jquery-1.10.2.min.map

dalla parte superiore del file jQuery.

La parte superiore del file jQuery sarà simile a questa.

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/

Basta cambiarlo in

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */

Scopo di una mappa di origine

Fondamentalmente è un modo per mappare un file combinato / minimizzato su uno stato non costruito. Quando si crea per la produzione, insieme a minimizzare e combinare i file JavaScript, si genera una mappa di origine che contiene informazioni sui file originali. Quando si esegue una query su un determinato numero di riga e colonna nel JavaScript generato, è possibile effettuare una ricerca nella mappa di origine che restituisce la posizione originale. Gli strumenti per sviluppatori (attualmente build notturne di WebKit, Google Chrome o Firefox 23+) possono analizzare automaticamente la mappa di origine e farla apparire come se si eseguono file non mininati e non combinati. (Maggiori informazioni qui )


Scusa, volevo dire: c'è qualche occasione in cui avrei avuto bisogno di questa linea?
Flion,

6
Richiesto solo quando è necessario eseguire il debug del codice sorgente JS minimizzato. Controlla qui il secondo paragrafo per maggiori dettagli html5rocks.com/en/tutorials/developertools/sourcemaps
kiranvj

5
Vorrei aver visto questo prima di fare la risposta selezionata. Questo è molto più semplice e DOVREBBE essere la risposta principale. L'auto risposta dell'operatore è utile per le informazioni, ma è sicuramente secondaria in quanto questa è la prima domanda che viene visualizzata quando si cerca su Google come sbarazzarsi di questo fastidio.
SpYk3HH,

13
Modificare le librerie per sbarazzarsi di queste cose non è una buona scelta. Ogni volta che aggiorni jquery, questa riga sarà di nuovo lì.
Arman P.

6
A partire da gennaio 2014, i riferimenti di sourcemap non sono inclusi nella distribuzione jQuery.
Dan Esparza,

44

Come annunciato nella jQuery 1.11.0/2.1.0 Beta 2 Releasedmappa di origine, il commento verrà rimosso, quindi il problema non verrà visualizzato nelle versioni più recenti di jQuery.

Ecco l'annuncio ufficiale:

Una delle modifiche che abbiamo apportato in questa versione beta è rimuovere il commento della mappa sorgente. Le mappe di origine hanno dimostrato di essere una cosa molto problematica e sconcertante per gli sviluppatori, generando decine di domande confuse su forum come StackOverflow e inducendo gli utenti a pensare che jQuery stesso fosse rotto.

Tuttavia, se è necessario utilizzare una mappa di origine, sarà comunque disponibile:

Continueremo a generare e distribuire sourcemap, ma sarà necessario aggiungere il commento sourcemap appropriato alla fine del file minimizzato se il browser non supporta l'associazione manuale dei file delle mappe (attualmente, nessuno lo fa). Se generi il tuo file jQuery usando il processo di compilazione personalizzato, il commento della mappa sorgente sarà presente nel file minimizzato e la mappa verrà generata; puoi lasciarlo dentro e usare le mappe di origine o modificarlo e ignorare del tutto il file della mappa.

Qui puoi trovare maggiori dettagli sulle modifiche.


Qui puoi trovare la conferma che con il jQuery 1.11.0/2.1.0 Releasedcommento della mappa di origine nel file minimizzato viene rimosso.


1
Ma se non fosse stato per questa confusione non avrei mai cercato qui e saputo che esistono mappe. Avevo aggiunto manualmente spazi ai file minimizzati che volevo dare un'occhiata.
acqua ghiacciata

1
Il browser Chrome ha un pulsante che formatterà piuttosto un file minimizzato. Prettificatori online sono inoltre disponibili.
Quentin 2


16

Le nuove versioni di jQuery richiedono questo file http://code.jquery.com/jquery-1.10.2.min.map

L'usabilità di questo file è descritta qui http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/

Aggiornare:

jQuery 1.11.0 / 2.1.0

// Il commento di sourceMappingURL non è incluso nel file compresso .


3
No, non credo che jQuery "richieda" quel file. È necessario solo se si desidera utilizzare la mappa di origine durante il debug, nel qual caso sono necessari sia il file src che il file della mappa.
Styfle

1
Ciao @styfle, la mappa di origine era richiesta nella versione 1.10.2, ma dalla versione 1.11.0 / 2.1.0 è necessario aggiungerla manualmente, perché molti utenti sono stati interessati dall'errore prodotto nella console del browser
Andres Separ

9

A quanto mi risulta il browser, almeno Chrome, non disattiva la mappatura di origine per impostazione predefinita. Ciò significa che gli utenti dell'applicazione attiveranno questa richiesta di mappatura di origine per impostazione predefinita.

È possibile rimuovere il mapping di origine eliminando //@ sourceMappingURL=jquery.min.mapdal file JavaScript.


9

Se si desidera ottenere una versione diversa del file della mappa di origine, è possibile utilizzare questo collegamento http://code.jquery.com/jquery-x.xx.x.min.map

Invece x.xx.x inserisci il tuo numero di versione.

Nota: alcuni collegamenti, che si ottengono con questo metodo, potrebbero essere interrotti :)


8

Dopo aver seguito le istruzioni nelle altre risposte, ho dovuto rimuovere la versione dal file della mappa affinché questo funzionasse per me.

Esempio: Rinomina

jquery-1.9.1.min.map

per

jquery.min.map


6

Mi è stato presentato lo stesso problema. La causa per me è stata che Grunt ha concatenato il mio file JavaScript.

Stavo usando un ;\ncome separatore che ha portato il percorso alla mappa sorgente a 404.

Così strumenti di sviluppo era alla ricerca di jquery.min.map;posto di jquery.min.map.

So che non è la risposta alla domanda originale, ma sono sicuro che ce ne sono altri con una configurazione Grunt simile.


5

jQuery 1.11.0 / 2.1.0 il commento // sourceMappingURL non è incluso nel file compresso.


1

Supponendo che tu abbia verificato che il file sia effettivamente presente sul server, ciò potrebbe anche essere causato dal tuo server web che limita i tipi di file offerti:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.