Есть ли пример добавления скриптов AjaxForm в require.js?

Добрый день, друзья!
Пытаюсь реализовать асинхронную загрузку скриптов на сайте.
Вопрос есть ли примеры добавления скриптов AjaxForm в require.js?
nuraksha
21 июня 2018, 12:10
modx.pro
1
1 196
0

Комментарии: 7

Алексей Ерохин
21 июня 2018, 16:02
-1
Добавлял. Какие вопросы?
    nuraksha
    22 июня 2018, 00:36
    0
    Нужен пример инициализации сможете показать?
    + нужно ли переписывать action.php?
      Алексей Ерохин
      22 июня 2018, 13:32
      +1
      Я изменил ajaxform.class.php, функцию loadJsCss, чтобы вместо регистрации скрипта инициализации конфиг в плейсхолдер ставился.
      ajaxform.js поменял под reuqire.js
      На странице так:

      require(['app', 'app/ajaxform'], function (a) {
                  a.AjaxForm.initialize({$_modx->getPlaceholder('AjaxForm.params')});
              });
        nuraksha
        24 июня 2018, 22:42
        0
        Вывел конфиг ajaxform в плеисхолдер.
        Но в ajaxform.js меняются переменные на буквы и вызов a.AjaxForm.initialize не может найти AjaxForm.initialize в ajaxform.js.
        Как быть с этим?
          Алексей Ерохин
          25 июня 2018, 10:47
          +1
          Не менять переменные на буквы?
          Я так понимаю вы сжимаете скрипты

          Попробуйте в конфиг requirejs в раздел shim занести ajaxform и указать exports
          ajaxform: {exports: 'AjaxForm'}
            nuraksha
            26 июня 2018, 23:24
            0
            ajaxform.js теперь использую не сжатый.
            Не могу понять как вы вызываете модуль AjaxForm на странице.
            У меня выходит ошибка — Cannot read property 'AjaxForm' of undefined.
          nuraksha
          29 июня 2018, 14:47
          1
          0
          Спасибо за помощь!
          Сделал вот так:
          requirejs(["app", "app/ajaxform"], function () {
                  require(['ajaxform'], function (e) {
                      e.initialize({$_modx->getPlaceholder('AjaxForm.params')});
                  });
              });
          В ajaxform.js
          define('ajaxform', ['jquery','jgrowl','jqueryform'], function ($,jGrowl,ajaxSubmit) {
          ....
          return AjaxForm;
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7