Précompilés Guidon modèles de la colonne vertébrale avec Requirejs?
J'ai été déconner avec un backbone.js application à l'aide de require.js et un guidon modèles (j'ai ajouté les AMD module de trucs à guidon) et viens de lire que la pré-compilation de modèles peuvent l'accélérer un peu juste.
Je me demandais comment j'allais sur le précompilés modèles avec requirejs. J'ai juste quelques modèles pour compiler (plus de 15), donc je ne sais pas si ils doivent tous être dans le même fichier de sortie ou de ont leur propre une fois compilé. Aussi, à partir de ce qu'il semble, la compilation des modèles partagent le même Handlebars
espace de noms que le rendu script utilise, donc je ne suis pas sûr de savoir comment j'allais quand nécessitant les modèles dans mes fichiers.
Tout conseil serait génial!
OriginalL'auteur Tom Brunoli | 2012-03-27
Vous devez vous connecter pour publier un commentaire.
Ont un look à la Requirejs-Handlebarsjs plugin: https://github.com/SlexAxton/require-handlebars-plugin
OriginalL'auteur Jakub
Une approche simple est de créer un RequireJS plugin basé sur le texte existant! plugin. Cela vous permettra de charger et de compiler le modèle. RequireJs cache et de réutiliser le modèle compilé.
le code du plugin:
de configuration dans main.js:
utilisation dans une colonne vertébrale.de marionnettes de vue:
Dans le cas où vous utilisez la grande épine Dorsale.Marionnette cadre vous pouvez
remplacer le moteur de rendu par défaut, de sorte qu'il ignore l'builtin
modèle de chargeur (pour le chargement/compilation/mise en cache):
aussi longtemps que vous vous inscrivez à eux, je ne vois pas pourquoi cela ne fonctionnerait pas
J'ai utilisé cette technique pour le bon succès mais j'ai ajouté une touche qui a contribué à la performance. Nous avons voulu utiliser les pré-compilé les modèles si possible, de sorte Grunt.js compilé tous nos modèles dans un tableau associatif nommé JST[] avec chaque un de disponible par le nom du fichier. Il est facile d'ajouter quelque chose au-dessus de code qui vérifie l'existence de la JST et puis le modèle spécifique au sein de cette matrice. Si il y est, de retour de la pré-compilé modèle. Sinon, ne le charge comme indiqué et de le compiler. Ensuite, vous pouvez développer à l'aide de nombreux modèles que vous pouvez modifier à volonté et de l'utilisation de pré-compilés au moment de l'exécution.
Ne suppose pas que vous avez tout le code concernant votre solution ci-dessus? Il sonne exactement ce que j'ai travaillé, mais seulement en cours d'exécution dans beaucoup de problèmes en ce moment je n'arrive pas à le faire fonctionner. Seriez-vous prête à partager? 🙂
C'est très bien! Pendant que j'attendais, j'ai roulé ma propre version - n'hésitez pas à commenter ou à utiliser si vous le souhaitez. gist.github.com/engram-design/5539338
OriginalL'auteur Boris Van Woerkom