2016-09-22 4 views
4

Я пытался сохранить некоторые вызовы ajax в моей производственной среде. Для этого я связал и минимизировал некоторые из моих скриптов, но я борется с select2 и его файлами перевода.select2 + requirejs: Не удается связать файлы i18n

Я включил jQuery + bootstrap + (много депо) + select2 + select2 i18n файлы на built.js и задал значения прокладки (я не думаю, что это необходимо).

Оба jquery и select2 вставлены перед файлами i18n.

Добавлена ​​следующие конфигурации (на производственной среде):

requirejs.config({ 
    bundles: { 
     'built': [ 
      'jquery', 
      'bootstrap', 
      'highcharts', 
      'bootbox', 
      'datatables', 
      'datatables-bootstrap', 
      'i18n', 
      'moment', 
      'knockout', 
      'knockout-mapping', 
      'pnotify', 
      'pnotify.nonblock', 
      'pnotify.desktop', 
      'pnotify.buttons', 
      'select2/select2', 
      'select2/i18n/pt-BR', 
      'select2/i18n/es', 
      'select2/i18n/en' 
     ] 
    } 
}); 

Однако, когда я пытаюсь загрузить мое приложение со всеми уменьшенными ресурсами, которые я получаю сообщение об ошибке на консоли:

Uncaught TypeError: Cannot read property 'define' of undefined

По этой линии:

(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function() 

Через несколько секунд, когда вы ожидаете Срок действия SecondsTimeout:

Uncaught Error: Load timeout for modules: select2/i18n/pt-BR,select2/i18n/es,select2/i18n/en

Приложение хорошо работает без встроенных файлов.

ответ

0

У меня была аналогичная проблема, не уверен, что его причиной, отложенное загрузки, или браузер с использованием нескольких потоков, чтобы загрузить JavaScript, но я решил ее, обернув функцию i18n файл с этим

(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd){ 
                     ^

Обратите внимание на добавленную почесть.

Затем в конце файла, перед последней почестью я добавил

} 
else { 
    window.setTimeout(arguments.callee,10); 
}})(); 

 Смежные вопросы

  • Нет связанных вопросов^_^