Использование ‹script type=module› вызывает предупреждение об устаревании в chrome

Установка типа тега скрипта на module приводит к следующему предупреждению:

Получение скриптов с недопустимыми атрибутами типа/языка устарело и будет удалено в M56 примерно в январе 2017 года. См. https://www.chromestatus.com/features/5760718284521472 для более подробной информации.

Я нашел эти два вопросы об этом предупреждении об устаревании и не объясняют, почему отображается эта ошибка для <script type="module">, хотя возможно, еще не реализованный, также полностью действителен, насколько мне известно. Очевидно, что это не будет иметь большого значения для встроенных скриптов, но я не буду встраивать какие-либо настоящие js. Почему я получаю эту ошибку? Вот платформа/версия, если это имеет значение:

Version 56.0.2924.76 (64-bit) Linux Mint

person Jared Smith    schedule 31.01.2017    source источник
comment
Я считаю, что type должен быть типом MIME, а module - нет. Тип MIME будет выглядеть как application/x-module, т.е. тип и подтип, разделенные косой чертой.   -  person Niet the Dark Absol    schedule 01.02.2017
comment
@NiettheDarkAbsol это справедливо, но, насколько мне известно, в соответствии со спецификацией whatwg type="module" синтаксический анализатор должен был знать, как анализировать файл (или встроенное содержимое) как модуль. github.com/whatwg/loader   -  person Jared Smith    schedule 01.02.2017


Ответы (1)


Ответ для всех, кто наткнется на это до того, как это станет обычным явлением, заключается в том, чтобы опустить кавычки, чтобы атрибут модуля не был ошибочно принят за недопустимый тип MIME:

<script src="./path/to/file.js" type=module></script>

Который обрабатывается правильно.

Обновлять

<script type="module"></script>

Теперь поддерживается в Chrome и Safari.

person Jared Smith    schedule 28.02.2017