2015-09-10 3 views
0

Je crée une application web JSF et j'essaie d'utiliser RequireJS pour structurer mes fichiers JavaScript.Spécifier l'attribut "data-main" RequireJS dans JSF

Cependant, je ne peux pas le faire fonctionner, car RequireJS nécessite un "data-main" attribut à placer dans la balise HTML script et outputScript ne prend pas en charge cela.

J'ai essayé de le configurer sans l'attribut "data-main" et j'ai échoué.

Mon arborescence ressemble à ceci:

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

J'ai mis ce qui suit dans la section head de la page JSF:

<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> 

Le résultat est que "signup-spec.js" ne peut pas être trouvé, je suppose que le baseUrl est défini sur un autre répertoire (il le cherche dans resources/js/lib).

Fondamentalement, signup-spec est ce que je mettrais dans l'attribut "data-main". Je ne sais vraiment pas quoi faire. Travailler sans "data-main" me rend vraiment confus.

Quelqu'un a-t-il des suggestions? Merci à l'avance!

+0

Cochez cette bibliothèque 'passe-through' http://jsfcorner.blogspot.com/2013/06/jsf-22-pass-through-attributes.html – Geinmachi

Répondre

0

vous n'avez pas devez utiliser un data-main, vous pouvez si vous le souhaitez. Si non spécifié chargez simplement votre config après:

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