Не работает script type=module

Раньше я использовал модули в проектах node.js, никаких проблем с этим не было. Пришло время поэкспериментировать и попробовать использовать модули на чистом html/js, и тут я застрял.

Цитата из учебника:

Так как модули поддерживают ряд специальных ключевых слов, и у них есть ряд особенностей, то необходимо явно сказать браузеру, что скрипт является модулем, при помощи атрибута <script type="module">.

Браузер автоматически загрузит и запустит импортированный модуль (и те, которые он импортирует, если надо), а затем запустит скрипт.

Вооружившись этими знаниями, создаем файлы sayHi.js и script.js;

// sayHi.js
export function sayHi(user) {
  alert(`Hello, ${user}!`);
}

// script.js
import {sayHi} from './sayHi.js';
sayHi('John'); // Hello, John!

И в index.html в конце body прописываем type в теге script:

<script type="module" src="script.js"></script>

В результате консоль показывает ошибку:

GET http://localhost:63342/HTML%20CSS/sayHi net::ERR_ABORTED 404 (Not Found)

То есть, получается, JS не видит файл sayHi. Что я сделал не так?


Ответы (0 шт):