2013-01-02 1 views
0

J'utilise require.js et text.js pour charger un fichier de modèle qui a un tas de modèles <script> dans ce:En utilisant text.js avec require.js comment puis-je créer un fichier HTML modèle, mais saisir chaque modèle de script individuellement?

par exemple /scripts/templates/comments.html

<script type="text/template" id="js-comment-reply-tmpl"> 
// html in here 
</script> 

<script type="text/template" id="js-comment-edit-tmpl"> 
// html in here 
</script> 

Et parce que l'utilisation du système de modèle de underscore (ou tout autre système de micro-templating js similaire), ce fichier lui-même à être chargée en tant que chaîne. Existe-t-il un moyen intelligent de saisir chaque modèle dans ce fichier? par exemple. $(template).html() envelopper dans jQuery, puis faire un find() ou quelque chose là-dessus? Je devais essentiellement le placer dans le DOM d'abord, donc ce serait probablement lent comme l'enfer et je pourrais aussi bien ne pas même le charger avec text.js et juste l'arracher du DOM initialement. Mon autre pensée est de les diviser chacun dans leurs propres fichiers, mais alors cela ralentirait sur le temps de la requête (bien que je finirais probablement par utiliser r.js avec un nœud pour réduire tout cela à la fin de toute façon cela n'aurait pas d'importance).

par exemple. /scripts/templates/comment_reply.html

<script type="text/template" id="js-comment-reply-tmpl"> 
// html in here 
</script> 

par exemple. /scripts/templates/comment_edit.html // html ici

Quel est le meilleur/moyen le plus efficace de le faire?

Répondre

0

Je vous conseille de déplacer chaque modèle dans son propre fichier et de les charger tous séparément. Certains des avantages de le faire sont:

  • plus facile maintainance - Recherche d'un modèle dans un projet est plus facile s'ils ont tous leurs propres noms et il réduit aussi sans tracas avec les conflits de contrôle de source si les développeurs aren » t tout en éditant le même fichier.

  • portabilité - Si vous vous retrouvez à l'aide d'un système de modèles qui peut être utilisé sur le serveur (comme Mustache), puis les modèles sont déjà faciles à partager entre l'avant et back-end.

Le principal inconvénient que vous avez déjà mis en avant sont les demandes supplémentaires, mais vous devriez certainement pas aller à la production sans avoir à construire vos scripts avec r.js donc cela ne devrait pas être un problème

+0

Ouais bons points ... C'est ce que je pensais faire. J'apprécie la recommandation. –

+0

Je dois dire cependant, que se passe-t-il si j'ai besoin de 2 templates pour dire comment_delete? Par exemple. '

Questions connexes