2015-09-10 15 views
0

我正在創建一個JSF Web應用程序,我試圖使用RequireJS來構造我的JavaScript文件。在JSF中指定RequireJS「data-main」屬性

但是,我無法讓它正常工作,因爲RequireJS要求將"data-main"屬性放置在HTML script標記中,outputScript不支持該屬性。

我試圖設置它沒有"data-main"屬性,並失敗。

我的目錄樹是這個樣子:

- webapp 
    - resources 
    + css 
    - js 
     - app 
      signup.js 
     - lib 
      jquery.js 
      require.js 
     common-spec.js 
     signup-spec.js 
    signup.xhtml 

我已經把在JSF頁面的head部分如下:

<h:head> 
    <h:outputScript name="js/lib/require.js" /> 
    <h:outputScript> 
     require.config({ 
      baseUrl: "js/lib", 
      paths: { 
       app: '../app' 
      } 
     }); 
     require(["signup-spec"]); 
    </h:outputScript> 
</h:head> 

結果是 「註冊-spec.js」無法找到,我想因爲baseUrl被設置爲另一個目錄(它尋找到resources/js/lib)。

基本上,signup-spec是我將在"data-main"屬性中。我真的不知道該怎麼做。在沒有"data-main"的情況下工作確實令我困惑。

有沒有人有任何建議?謝謝!

+0

檢查這個'傳遞through'庫http://jsfcorner.blogspot.com/2013/06/jsf-22-pass-through-attributes.html – Geinmachi

回答

0

你不要必須使用數據主,你可以如果你的願望。如果沒有指定只加載你的配置後:

<utils:outputScript name="require.js"/> 
    <utils:outputScript name="requireConfig.js"/>