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

Jeśli używasz map źródłowych lub źródłoURL (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. Szczególnie problematyczna jest starsza wersja Shiv HTML5.

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 tak, aby pasował do składni //# ze względu na spójność. 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 znajdziesz tutaj.
  • Narzędzia deweloperskieChrome wprowadziły zmianę dotyczącą sourceMappingURL i sourceURL. Użytkownik zobaczy też ostrzeżenie o używaniu przestarzałej 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.