2016-08-24 65 views
1

我試圖加載與require.js fullpage.js。我的配置因此定義了一條路徑:fullpage.js與require.js IScroll找不到

"fullpage":[ 
     "lib/jquery.fullPage.min" 
    ], 

稍後在main.js中我需要包含業務邏輯的start.js。

在start.js我所定義的依賴關係,並initalized全頁

define(["jquery","fullpage","nerveSlider","fluidbox"], function($,fullpage,nerveSlider,fluidbox) { 
... 
     $('#fullpage').fullpage({ 
      anchors: ['shop', 'about', 'details', 'footer'], 
      sectionsColor: ['#000000', '#94c9b7', '#6e8394','#333'], 
      navigation: true, 
      controlArrows: true, 
      fixedElements: '.logo', 
      loopHorizontal: false, 
      navigationPosition: 'left', 
      responsiveWidth: 900, 
      scrollOverflow: true 
     }); 

如I'm使用選項 'scrollOverflow:真' fullpage.js需要scrolloverflow庫:https://github.com/alvarotrigo/fullPage.js/#including-files

我定義爲DEB在我main.js

"scrolloverflow":[ 
     "lib/scrolloverflow.min" 
    ], 
    ... 
    fullpage: { 
     deps: ['scrolloverflow'] 
    } 

不幸的是,我得到一個控制檯錯誤說

jquery.fullPage.min.js:8 Uncaught ReferenceError: IScroll is not defined 

我在做什麼錯?換句話說,我如何使scrolloverview的方法IScroll可用於fullpage.js?

+0

聽起來你正在使用的不是最新版本fullpage.js?確保你使用最新的2.8.4。 – Alvaro

+0

阿拉瓦羅,謝謝你的回覆!版本是2.8.4如果我在要求'之前包含scrolloverflow,看起來我在require.js中做了一些錯誤 \t '一切工作正常。我認爲一些墊片依賴關係或命名空間問題有問題。 –

+0

您可以更改爲非最小化版本,並讓我知道發生問題的確切路線是什麼? – Alvaro

回答

0

shim doc

Configure the dependencies, exports, and custom initialization for older, traditional "browser globals" scripts that do not use define() to declare the dependencies and set a module value.

兩個fullpage.jsscrolloverflow.js是AMD模塊。對於這些模塊,您不能使用墊片

您可以在define函數中定義模塊的關係。 fullpage.js needs IScroll在全局範圍內定義。你需要一個黑客:加載IScroll,並在全局範圍內定義它:

define(["jquery","scrolloverflow","fullpage"], function($, IScroll) { 
    window.IScroll = IScroll; 
    ... 
}); 
+0

Hi Tomasz,這是我第一次嘗試:'define([「jquery」,「fullpage」,「scrolloverflow」,「nerveSlider」,「fluidbox」],函數($,fullpage,scrolloverflow,nerveSlider,fluidbox) {... '但錯誤信息保持不變':('未捕獲的ReferenceError:IScroll未定義# –

+0

看我的更新 –

+0

Hi Tomasz,非常感謝您的承諾。您的想法是讓IScroll成爲全球化的, ?不幸的是,它保持不變。控制檯說,IScroll是未定義的。「未引用的參考錯誤:IScroll未定義 –