SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead

Предупреждение JavaScript «Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead» появляется, когда в JavaScript-коде присутствует устаревший синтаксис карт исходного кода.

Сообщение

Warning: SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead

Warning: SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead

Тип ошибки

Предупреждение о том, что произошла ошибка SyntaxError. Выполнение JavaScript не будет остановлено.

Что пошло не так?

В исходном JavaScript-коде присутствует устаревший синтаксис карт кода.

Файлы JavaScript часто объединяются и минифицируются, чтобы доставлять их с сервера более эффективно. С картами исходного кода, отладчик может сопоставить выполняемый код с исходными файлами.

Спецификация карт исходного кода была изменена из-за конфликта с Internet Explorer, который при обнаружении на странице //@cc_on включал условную компиляцию в движке IE JScript. Комментарий условной компиляции в IE — малоизвестная функция, но она нарушала работу карт исходного кода jQuery и других библиотек.

Примеры

Устаревший синтаксис

Синтаксис с использованием символа @ устарел.

js
//@ sourceMappingURL=http://example.com/path/to/your/sourcemap.map

Стандартный синтаксис

Следует использовать символ #.

js
//# sourceMappingURL=http://example.com/path/to/your/sourcemap.map

Или можно установить заголовок SourceMap для нужного JavaScript-файла, чтобы отключить комментирование:

http
SourceMap: /path/to/file.js.map

Смотрите также