Вопрос

Я использую образец проекта из здесь.

Предположим, мне нужно экспортировать некоторую функцию из моего модуля, чтобы предоставить клиентам API JavaScript клиентам моего сервиса.

Но объявления в моих файлах .JS не видны вне потребностей!

Я добавляю следующий блок в jquery-require-sample/webapp/app.html:

<script type="text/javascript">
   $(document).ready(function() {
      $('body').alpha().beta();
   });
</script>

Это терпит неудачу: Uncaught typeerror: объект [объект объекта] не имеет метода «альфа».

Можно ли делать то, что я хочу?

Это было полезно?

Решение

На основе кода, который вы предоставили, я предполагаю, что вы добавили свой код после существующего тега скрипта в app.html. Я думаю, что то, что вы видите, является проблемой времени. После загрузки страницы взгляните на <head> тег, и вы должны увидеть теги сценария в следующем порядке:

  1. сценарий «требовать»
  2. Ваш новый сценарий
  3. альфа
  4. бета

Таким образом, он запускает ваш сценарий до запуска альфа и бета -версии. Причина в том, что требовать обработать первый сценарий, но не выполнять «мясо» main.js, пока все его зависимости не будут выполнены (альфа и бета).

Надеюсь, это поможет. Следующие изменения в вашем коде могут также проиллюстрировать, что происходит. Settimeout дает Alpha и Beta возможность загрузить:

<script type="text/javascript">
  setTimeout(function(){
           $(document).ready(function() {
              $('body').alpha().beta();
           });
           }, 5000);
</script>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top