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?
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)
Skąd to się bierze?
Odpowiedzi:
Jeśli Chrome DevTools donosi 404 dla pliku .map (być może jquery-1.10.2.min.map
, jquery.min.map
albo jquery-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.
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
i c
.
Więcej informacji o sourcemaps tutaj: Wprowadzenie do map źródłowych JavaScript
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:
Możesz usunąć 404, usuwając linię
//@ sourceMappingURL=jquery-1.10.2.min.map
z górnej części pliku jQuery.
Górna część pliku jQuery będzie wyglądać tak.
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/
Po prostu zmień to na
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */
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 )
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 wersjach jQuery
.
Oto oficjalne ogłoszenie:
Jedną ze zmian, które wprowadziliśmy w tej wersji beta, jest usunięcie komentarza do sourcemap. Sourcemaps okazały się bardzo problematyczne i zagadkowe dla programistów, generując dziesiątki pomieszanych pytań na forach takich jak StackOverflow i powodując, że użytkownicy sądzili, że sam jQuery został uszkodzony.
W każdym razie, jeśli musisz użyć mapy źródłowej, nadal będzie ona dostępna:
Nadal będziemy generować i dystrybuować mapy zasobów, ale musisz dodać odpowiedni komentarz do mapy zasobów na końcu zminimalizowanego pliku, jeśli przeglądarka nie obsługuje ręcznego kojarzenia plików map (obecnie nie ma żadnych). Jeśli wygenerujesz własny plik jQuery przy użyciu niestandardowego procesu kompilacji, komentarz mapowania będzie obecny w zminimalizowanym pliku i mapa zostanie wygenerowana; możesz go zostawić i użyć sourcemaps lub edytować i całkowicie zignorować plik mapy.
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.
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
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 .
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.
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 :)
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 programistycznych jquery.min.map
.
Wiem, że to nie jest odpowiedź na pierwotne pytanie, ale jestem pewien, że istnieją inni o podobnej konfiguracji Grunta.
jQuery 1.11.0 / 2.1.0 komentarz // sourceMappingURL nie jest zawarty w skompresowanym pliku.
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: