Как работает html5- script -attribute "data-main"?

Например, requireJS использует следующий синтаксис:

<script data-main="scripts/main" src="scripts/require.js"></script>

и в его документации вы можете прочитать:

атрибут data-main сообщает require.js загружать скрипты /main.js после require.js load

  • Как это возможно (script порядок загрузки)?
  • Если имя js файла было nomain.js, атрибут данных был бы "носителем данных"?
  • Я не вижу информации об этом в спецификации html5, или я смотрю на неправильное место?

Благодарю вас

Ответы

Ответ 1

Как это возможно (script порядок загрузки)?

Потому что это цель require.js, которая состоит из довольно большого количества кода для этого.

Эта конкретная часть довольно тривиальна, require.js ничего не может сделать (включая загрузку еще одного script), пока она не будет загружена сама.

Если имя js файла было nomain.js, атрибут данных был бы "носителем данных"?

Нет. Требовать просмотра data-main, чтобы определить файл точки входа script. Он получает URL-адрес от значения этого атрибута.

Я не вижу никакой информации об этом в спецификации html5 или я смотрю на неправильное место?

data-* атрибуты определены в разделе 3.2.5.9 Встраивание пользовательских невидимых данных с атрибутами data- *