Zmieniono składnię sourceMappingURL i składnię adresu sourceURL

Jeśli używasz map źródłowych lub sourceURL (oba są opisane w artykule HTML5 Rocks Primer w Mapach źródłowych), możesz zobaczyć ostrzeżenie w konsoli Chrome, takie jak: "/*@ sourceMappingURL=" source mapping URL declaration is deprecated, "/*# sourceMappingURL=" declaration should be used instead.

Zrzut ekranu z mapowaniem źródeł w narzędziach Devtools

O co chodzi:

Zapalenie

//@ sourceMappingURL wykryliśmy konfliktz IE, jeśli występuje on na stronie po tym, jak tag //@cc_on włączył kompilację warunkową w silniku IE JScript. Starsza wersja HTML5 Shiv jest tu jednym z naruszeń.

Zmiana specyfikacji

Składnia //@ sourceMappingURL jest zdefiniowana w specyfikacji mapy źródłowej w wersji 3. Została tam zmieniona i używała składni //#.

sourceURL

Parametr //@ sourceURL jest również zdefiniowany w specyfikacji i został utworzony tak, aby pasował do składni //# w celu zachowania spójności. Z dalszej części artykułu dowiesz się, jak działa sourceURL. Jest używany przez minispad Ember, concatenate.js Google i inne. W Chrome język sourceURL jest obsługiwany w przypadku skryptów w tekście i stylów wbudowanych, a nie tylko ocenianego kodu JS.

Wdrożenie w Narzędziach deweloperskich w przeglądarce zakończone.

  • Inspektor Safari obsługuje teraz protokół //# w przypadku zasobów sourceMappingURL i sourceURL
  • Zmiana narzędzia Firebug została zarejestrowana dla parametru sourceURL.
  • Firefox wyświetlił zmianę dla sourceMappingURL. Adres URL sourceURL zgłoszenie jest tutaj.
  • Chrome Narzędzia deweloperskie wprowadziły zmianę dla sourceMappingURL i sourceURL. Pojawi się też ostrzeżenie o używaniu wycofanej składni //@.

Mimo że zmiany zostaną wprowadzone w wersji stabilnej, możesz używać obu składni jednocześnie, aby uzyskać pełną obsługę narzędzia, lub od razu przejść na składnię #, w zależności od potrzeb.