Javascript: модуль не определен (модуль формата UMD) - PullRequest
0 голосов
/ 08 мая 2020

Работая с Rollup js, я пытаюсь запустить свой модуль в своем индексе. html page

<script type="module" src="./bundle.js" ></script>
<script>
  window.addEventListener('load', () => {
    const lib = new MyLibrary();
    console.log(lib);
  });
</script>

и получаю следующую ошибку:

( index): 17 Uncaught ReferenceError: MyLibrary не определена

Формат модуля - UMD. Спасибо!

1 Ответ

0 голосов
/ 08 мая 2020

Как насчет того, чтобы убедиться, что ваш модуль загружен до ваших скриптов. Я думаю, вам стоит попробовать загрузить первый скрипт с флагом async или defer. Например,

С defer

<script defer type="module" src="./bundle.js"></script>
<script>
  window.addEventListener('load', () => {
    const lib = new MyLibrary();
    console.log(lib);
  });
</script>

С async

<script async type="module" src="./bundle.js"></script>
<script>
  window.addEventListener('load', () => {
    const lib = new MyLibrary();
    console.log(lib);
  });
</script>

Также убедитесь, что вы проверили, что класс MyLibrary загружен. Например, вы можете использовать консоль разработчика браузера и ввести имя класса MyLibrary, и если оно появится, это означает, что модуль загружен. Если там написано undefined ... Вы знаете, что у вас проблема с загрузкой скрипта. Возможно связано с parcel config. Если у вас все еще есть проблемы, поделитесь кодом вашего сборщика и изображением структуры каталогов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...