Debuguj pierwotny kod zamiast wdrażać go za pomocą map źródłowych

Meggin Kearney
Meggin Kearney
Sofia Emelianova
Sofia Emelianova

Zadbaj o to, aby kod po stronie klienta był czytelny i łatwy do debugowania nawet po połączeniu, zminimalizowaniu lub skompilowaniu. W panelu Źródła możesz użyć mapy źródeł, aby zmapować kod źródłowy na skompilowany.

Wprowadzenie do preprocesorów

Mapy źródeł z przetwarzaczy powodują, że w Narzędziach deweloperskich wczytywane są nie tylko zminifikowane pliki, ale też pliki oryginalne.

Chrome uruchomi zminifikowany kod, ale w panelu Źródła wyświetli kod, który został przez Ciebie napisany. Możesz ustawiać punkty kontrolne i przechodzić przez kod w plikach źródłowych, a wszystkie błędy, dzienniki i punkty kontrolne zostaną automatycznie zmapowane.

Dzięki temu debugowanie kodu wygląda tak, jak w przypadku zwykłego debugowania, a nie kodu obsługiwanego przez serwer deweloperski i wykonywanego przez przeglądarkę.

Aby używać map źródeł w panelu Źródła:

  • Używaj tylko preprocesorów, które mogą generować mapy źródeł.
  • Sprawdź, czy serwer WWW może udostępniać mapy źródeł.

Używanie obsługiwanego preprocesora

Oto niektóre z często używanych w połączeniu z mapami źródłowymi procesorów:

Pełną listę znajdziesz w artykule Mapy źródłowe: języki, narzędzia i inne informacje.

Włączanie map źródeł w ustawieniach

Ustawienia. Ustawienia > Ustawienia > Źródła zaznacz Pole wyboru. Mapy źródłowe JavaScriptu.

Sprawdź, czy mapy źródłowe zostały załadowane.

Zobacz artykuł Materiały dla deweloperów: ręczne wyświetlanie i wczytywanie map źródłowych.

Debugowanie za pomocą map źródeł

Gdy mapy źródłowe są gotowewłączone, możesz:

  1. Otwórz źródła witryny w panelu Źródła.
  2. Aby skupić się tylko na kodzie, który sam tworzysz, pogrupuj w drzewie plików utworzone i wdrożone pliki. Następnie rozwiń sekcję Utworzone. Autor i otwórz oryginalny plik źródłowy w Edytorze.

    Pierwotny plik otwiera się w sekcji Autor.

  3. Ustaw punkt przerwania w zwykły sposób. Na przykład punkt danych. Następnie uruchom kod.

    Punkt logowania ustawiony w pliku autorskim.

  4. Zwróć uwagę, że Edytor umieszcza link do wdrożonego pliku na pasku stanu u dołu. Podobnie jest w przypadku wdrożonych plików CSS.

    link do wdrożonych plików CSS na pasku stanu.

  5. Otwórz panel Konsoli. W tym przykładzie obok komunikatu punktu logowania konsola pokazuje link do oryginalnego pliku, a nie do wdrożonego.

    Komunikat w konsoli z linkiem do oryginalnego pliku.

  6. Zmień typ punktu przerwania na standardowy i ponownie uruchom kod. Tym razem wykonanie zostanie wstrzymane.

    Wykonywanie zostało wstrzymane w zwykłym punkcie przerwania.

    Zwróć uwagę, że w panelu Stos wywołania widnieje nazwa oryginalnego pliku, a nie wdrożonego.

  7. Na pasku stanu u dołu Edytowanie kliknij link do wdrożonego pliku. W panelu Źródła możesz przejść do odpowiedniego pliku.

Wdrożony plik z komentarzem sourceMappingURL.

Gdy otworzysz dowolny wdrożony plik, DevTools powiadomi Cię, jeśli znajdzie komentarz //# sourceMappingURL i powiązany z nim oryginalny plik.

Zwróć uwagę, że Editor automatycznie sformatował rozmieszczony plik. W rzeczywistości zawiera on cały kod w jednym wierszu, z wyjątkiem komentarza //# sourceMappingURL.

Nazwa eval() połączeń z #sourceURL

#sourceURL ułatwia debugowanie w przypadku wywołań eval(). Ten pomocnik jest bardzo podobny do usługi //# sourceMappingURL. Więcej informacji znajdziesz w specyfikacji mapy źródeł V3.

Komentarz //# sourceURL=/path/to/source.file informuje przeglądarkę, aby podczas korzystania z elementu eval() szukała pliku źródłowego. Pomoże Ci to nazwać oceny oraz skrypty i style wstawiane w tekście.

Przetestuj ją na tej stronie demonstracyjnej:

  1. Otwórz Narzędzia deweloperskie i otwórz panel Źródła.
  2. Na stronie w polu Nazwij kod: wpisz dowolną nazwę pliku.
  3. Kliknij przycisk Skompiluj. Pojawi się alert z wyliczoną sumą z źródła CoffeeScript.
  4. W drzewie plików w panelu Strona otwórz nowy plik z wprowadzoną przez siebie nazwą. Zawiera on skompilowany kod JavaScript z komentarzem // #sourceURL zawierającym pierwotną nazwę pliku źródłowego.
  5. Aby otworzyć plik źródłowy, kliknij link na pasku stanu Edytowanie.

W pasku stanu znajduje się komentarz sourceURL i link do pliku źródłowego.