Конфигурация Photoswipe и Require.js

У меня есть модуль, который зависит как от PhotoSwipe, так и от PhotoSwipeUI_Default. Мне нужны оба модуля, вот так, и внутри моего модуля я инициализирую свою галерею. НАПРИМЕР:

define("modules/lightboxStart", ["vendor/PhotoSwipe", "vendor/PhotoSwipeUI_Default"], function (PhotoSwipe, PhotoSwipeUI_Default) {

   var StartGallery = function(){
      var lightBox =  new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options);
            lightBox.init();
   }
   StartGallery()
}

После этого галерея работает должным образом, но require выдает ошибку несоответствующего модуля анонимного определения в PhotoSwipe.js.

После просмотра документации я пришел к выводу, что мне нужно запустить оба сценария (PhotoSwipe и PhotoSwipeUI_Default) через API require.js.

Затем я определил каждый, например:

define('PhotoSwipe', function() {
//PhotoSwipe script here
 return PhotoSwipe
 })

А также

define('PhotoSwipeUI_Default', function() {
//PhotoSwipeUI_Default script here
 return PhotoSwipeUI_Default
 })

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

PhotoSwipe is not a function

Как я мог это исправить? По сути, я пытаюсь получить доступ к функции PhotoSwipe в PhotoSwipe.js и передать свои аргументы, но я не могу сделать это, не создавая загрузку js-ошибок на странице, и я не могу понять, почему.

Помощь очень ценится!


person Antonio Vasilev    schedule 28.10.2015    source источник
comment
Вам нужно SHIM их, а затем использовать там зависимости   -  person Brent    schedule 28.10.2015
comment
Установите оболочку для сценария, который требует обеих зависимостей PhotoSwipe, а затем перечислите их как их зависимости в оболочке? Или прошить скрипты вендора?   -  person Antonio Vasilev    schedule 28.10.2015


Ответы (1)


define (["modules / lightboxStart", "vendor / PhotoSwipe", "vendor / PhotoSwipeUI_Default"], function (lightboxStart, PhotoSwipe, PhotoSwipeUI_Default) {// я так думаю}

person Huang Yue    schedule 14.04.2016
comment
Хотя теоретически это может дать ответ на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки. . - person Enamul Hassan; 14.04.2016