Widzę komunikaty o błędach dotyczące pliku min.map
, ponieważ nie można ich znaleźć:
GET jQuery's jquery-1.10.2.min.map uruchamia 404 (nie znaleziono)
Zrzut ekranu
Skąd to się bierze?
javascript
jquery
google-chrome-devtools
Paul Irish
źródło
źródło
Odpowiedzi:
Jeśli Chrome DevTools donosi 404 dla pliku .map (być może
jquery-1.10.2.min.map
,jquery.min.map
albojquery-2.0.3.min.map
, ale może się zdarzyć z niczego) Pierwszą rzeczą jest wiedzieć, to jest wymagane tylko przy korzystaniu z DevTools. Twoi użytkownicy nie będą uderzać w ten 404.Teraz możesz to naprawić lub wyłączyć funkcję sourcemap.
Poprawka: pobierz pliki
Następnie jest to łatwa naprawa. Wejdź na http://jquery.com/download/ i kliknij link Pobierz plik mapy dla swojej wersji, a będziesz również chciał pobrać nieskompresowany plik.
Posiadanie pliku mapy umożliwia debugowanie zminimalizowanego jQuery za pomocą oryginalnych źródeł, co pozwoli zaoszczędzić dużo czasu i frustracji, jeśli nie lubisz zajmować się nazwami zmiennych, takimi jak
a
ic
.Więcej informacji o sourcemaps tutaj: Wprowadzenie do map źródłowych JavaScript
Unik: wyłącz sourcemaps
Zamiast pobierać pliki, możesz alternatywnie całkowicie wyłączyć mapy źródłowe JavaScript w ustawieniach. To dobry wybór, jeśli nigdy nie planujesz debugować JavaScript na tej stronie. Użyj ikony koła zębatego w prawym dolnym rogu DevTools, aby otworzyć ustawienia, a następnie:
źródło
Możesz usunąć 404, usuwając linię
z górnej części pliku jQuery.
Górna część pliku jQuery będzie wyglądać tak.
Po prostu zmień to na
Cel mapy źródłowej
Zasadniczo jest to sposób na mapowanie połączonego / zminimalizowanego pliku z powrotem do stanu niezbudowanego. Podczas kompilacji do produkcji, wraz z minimalizowaniem i łączeniem plików JavaScript, generujesz mapę źródłową, która zawiera informacje o twoich oryginalnych plikach. Gdy przeszukujesz określony numer wiersza i kolumny w wygenerowanym JavaScript, możesz wyszukać w mapie źródłowej, która zwraca pierwotną lokalizację. Narzędzia dla programistów (obecnie kompilacje nocne WebKit, Google Chrome lub Firefox 23+) mogą automatycznie analizować mapę źródłową i sprawiać, by wyglądała, jakbyś uruchamiał nieuprawnione i niepołączone pliki. (Przeczytaj więcej na ten temat tutaj )
źródło
Jak ogłoszono w
jQuery 1.11.0/2.1.0 Beta 2 Released
źródłowej mapie, komentarz zostanie usunięty, więc problem nie pojawi się w nowszych wersjachjQuery
.Oto oficjalne ogłoszenie:
W każdym razie, jeśli musisz użyć mapy źródłowej, nadal będzie ona dostępna:
Tutaj możesz znaleźć więcej szczegółów na temat zmian.
Tutaj można znaleźć potwierdzenie, że wraz z
jQuery 1.11.0/2.1.0 Released
komentarzem mapy źródłowej w zminimalizowanym pliku jest usuwany.źródło
Pobierz plik mapy i nieskompresowaną wersję jQuery .
Umieść je w wersji zminimalizowanej:
Dołącz zminimalizowaną wersję do swojego HTML :
Sprawdź w Google Chrome:
Przeczytaj Wprowadzenie do map źródłowych JavaScript
Zapoznaj się z debugowaniem JavaScript
źródło
Nowe wersje jQuery wymagają tego pliku http://code.jquery.com/jquery-1.10.2.min.map
Użyteczność tego pliku jest opisana tutaj http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
Aktualizacja:
jQuery 1.11.0 / 2.1.0
// komentarz sourceMappingURL nie jest zawarty w skompresowanym pliku .
źródło
Rozumiem, że przeglądarka, przynajmniej Chrome, domyślnie nie wyłącza mapowania źródła. Oznacza to, że użytkownicy aplikacji domyślnie wyzwalają to żądanie mapowania źródła.
Możesz usunąć mapowanie źródła, usuwając
//@ sourceMappingURL=jquery.min.map
z pliku JavaScript.źródło
Jeśli chcesz uzyskać inną wersję pliku mapy źródłowej, możesz użyć tego linku http://code.jquery.com/jquery-x.xx.x.min.map
Zamiast tego x.xx.x wpisz swój numer wersji.
Uwaga: niektóre linki, które otrzymujesz tą metodą, mogą być uszkodzone :)
źródło
Po wykonaniu instrukcji zawartych w innych odpowiedziach musiałem usunąć wersję z pliku mapy, aby to zadziałało.
Przykład: Zmień nazwę
do
źródło
Przedstawiono mi ten sam numer. Przyczyną było dla mnie Grunt połączenie mojego pliku JavaScript.
Używałem a
;\n
jako separatora, który spowodował ścieżkę do mapy źródłowej do 404.jquery.min.map;
Zamiast tego szukały narzędzi programistycznychjquery.min.map
.Wiem, że to nie jest odpowiedź na pierwotne pytanie, ale jestem pewien, że istnieją inni o podobnej konfiguracji Grunta.
źródło
jQuery 1.11.0 / 2.1.0 komentarz // sourceMappingURL nie jest zawarty w skompresowanym pliku.
źródło
Zakładając, że sprawdziłeś, czy plik jest rzeczywiście obecny na serwerze, może to być również spowodowane ograniczeniem przez serwery, które typy plików są obsługiwane:
źródło