Quelle est la différence entre handlebar.js et handlebar.runtime.js?

J’ai trouvé que handlebar.runtime.js n’a aucune méthode de comstack . J’ai donc téléchargé pas la bonne version pour utiliser simplement le moteur de template.

Mais à quoi sert le handlebar.runtime.js ?

Il serait plus intéressant que Download: runtime-1.0.0 soit plus invisible sur la page de téléchargement?

Handlebars utilise des balises qui ressemblent à {{this}} et qui ne peuvent pas être comsockets nativement par le navigateur. Pour que le navigateur puisse rendre ces balises, elles doivent être compilées. La compilation peut avoir lieu avant ou après le chargement de la page.

Pour accélérer les choses, vous pouvez précomstackr vos modèles. Plus d’infos sur le site du guidon . Si vous faites cela, il vous suffit d’inclure le script d’exécution du guidon sur votre page. C’est plus petit que le script de guidon complet car il n’a pas besoin de se soucier de la compilation de modèles. Cela suppose que vous les avez précompilés.

Lorsqu’un modèle est compilé, il est converti en une fonction qui, une fois appelée, renvoie un code HTML réel, dans lequel les balises d’accolades ont été converties en valeurs que le navigateur comprend.

Par exemple, ceci …

 

{{title}}

{{body}}

… sera converti en ce qui suit (à partir de juin 2014) après avoir été précompilé:

 (function() { var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; templates['test.hbs'] = template({"comstackr":[5,">= 2.0.0"],"main":function(depth0,helpers,partials,data) { var helper, functionType="function", escapeExpression=this.escapeExpression; return "
\n

" + escapeExpression(((helper = helpers.title || (depth0 && depth0.title)),(typeof helper === functionType ? helper.call(depth0, {"name":"title","hash":{},"data":data}) : helper))) + "

\n
\n " + escapeExpression(((helper = helpers.body || (depth0 && depth0.body)),(typeof helper === functionType ? helper.call(depth0, {"name":"body","hash":{},"data":data}) : helper))) + "\n
\n
\n"; },"useData":true}); })();

Le point important à retenir ici est qu’à un moment donné, le modèle de guidon doit être converti en cette fonction afin de générer du HTML réel. Le script d’exécution du guidon ne contient pas le compilateur, ce qui le rend plus petit. Et en précompilant vos modèles, il y aura une étape moins lourde à passer par le JavaScript avant de rendre la page.