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](https://developer.chrome.com/static/blog/sourcemappingurl-and-sourceurl-syntax-changed/image/sourcemapping-devtools-sc-073e091987fb1.png?authuser=7&hl=pl)
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.