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

Jeśli używasz map źródłowych lub źródłaURL (oba te tematy omówiliśmy w wprowadzeniu do map źródłowych), w konsoli Chrome może się wyświetlić ostrzeżenie podobne do tego: "/*@ sourceMappingURL=" source mapping URL declaration is deprecated, "/*# sourceMappingURL=" declaration should be used instead.

Zrzut ekranu z Narzędzi deweloperskich – mapowanie źródła

Oto o co chodzi:

Impetus

//@ sourceMappingURL został znaleziony i powoduje konflikt z IE, gdy występuje na stronie po tym, jak //@cc_on został zinterpretowany jako polecenie włączające kompilację warunkową w mechanizmie JScript w IE. Stara wersja Shiv HTML5 jest w tym przypadku szczególnie problematyczna.

Zmiana specyfikacji

Składnia //@ sourceMappingURL jest zdefiniowana w specyfikacji Sourcemap V3. Zmieniono ją tak, aby używała składni //#.

sourceURL

Element //@ sourceURL jest też zdefiniowany w specyfikacji i został utworzony w celu dopasowania do składni //# w celu zapewnienia spójności. Aby dowiedzieć się więcej o tym, co robi parametr sourceURL, przeczytaj ten artykuł. Jest on używany przez minispade z Ember, concatenate.js z Google i inne. W Chrome sourceURL jest obsługiwany w przypadku skryptów i stylów w kodzie strony, a także w przypadku ocenionego kodu JS.

Implementacja w Narzędziach deweloperskich w przeglądarce = gotowe.

  • Safari Inspector obsługuje teraz //# w przypadku sourceMappingURL i sourceURL.
  • Zmiana Firebuga została opublikowana w przypadku źródłaURL.
  • Firefox wprowadził zmiany w źródłoMappingURL. Bilet sourceURL
  • Narzędzia deweloperskieChrome wprowadziły zmianę dotyczącą parametrów sourceMappingURL i sourceURL. Użytkownik zobaczy też ostrzeżenie o używaniu wycofanej składni //@.

Do czasu wprowadzenia stabilnej wersji tych zmian możesz używać obu składni jednocześnie, aby zapewnić pełną obsługę narzędzi, lub od razu przejść na składnię #, w zależności od potrzeb.