Я получаю сообщение об ошибке Uncaught ReferenceError: момент не определен. Как я могу это исправить? - PullRequest
4 голосов
/ 06 августа 2020

Я использовал этот код js в своем проекте laravel для получения библиотеки моментов.

        var today = moment();

        function Calendar(selector, events) {
            this.el = document.querySelector(selector);
            this.events = events;
            this.current = moment().date(1);
            this.draw();
            var current = document.querySelector('.today');
            if (current) {
                var self = this;
                window.setTimeout(function () {
                    self.openDay(current);
                }, 500);
            }
        }

Я вызвал файл js, используя этот тег скрипта внутри раздела body

<script src="moment.min.js"></script>

Теперь появляется Uncaught ReferenceError: момент не определен в консоли. moment.min. js находится в том же каталоге. Как я могу это исправить. '

1 Ответ

0 голосов
/ 06 августа 2020

Это потому, что, поскольку скрипт загружается асинхронно и перед загрузкой скрипта в браузер вы пытаетесь получить доступ к моменту. Лучший способ сделать это - проверить, загружена ли используемая вами библиотека или нет, вы можете это сделать, добавив что-то связанное с этим

function loadError(oError) {
  throw new URIError("The script " + oError.target.src + " didn't load correctly.");
}

function affixScriptToHead(url, onloadFunction) {
  var newScript = document.createElement("script");
  newScript.onerror = loadError;
  if (onloadFunction) { newScript.onload = onloadFunction; }
  document.head.appendChild(newScript);
  newScript.src = url;
}

, и после того, как вы сможете ссылаться на момент ссылки https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement

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