Атрибут type

Атрибут type указывает тип скрипта, который устанавливает элемент <script>: классический скрипт, модуль JavaScript, карта импорта.

Синтаксис

<script type="importmap | module | text/javascript"></script>

Значения

importmap
Элемент содержит карту импорта.
module
Сообщает, что код является модулем JavaScript. Атрибут defer в этом случае не учитывается.
text/javascript
Указывает, что это «классический скрипт» содержащий код на языке JavaScript. Это значение используется по умолчанию и его добавлять не обязательно.

Значение по умолчанию

text/javascript

Пример

Код примера скопирован в буфер
<!DOCTYPE html>
<html lang="ru">
 <head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Модуль JavaScript</title>
  <script type="module">
   import {sayHello} from '/example/say.js';
   document.getElementById('main').innerHTML = sayHello('Иван');
  </script>
 </head>
 <body>
  <div id="main"></div>
 </body>
</html>

В данном примере скрипт установлен как модуль. Содержимое файла say.js показано ниже.

export function sayHello(user) {
  return `Привет, ${user}!`;
}

Браузеры

Значение
importmap 89 89 76 16.4 108
module 79 63 50 11.1 67
text/javascript 4 12 1 4 1 1
Значение
importmap 89 108 63 16.4
module 61 60 45 10.3
text/javascript 4.4 4 12.1 3.2