如何在带有RequireJS的Handlebars中使用预编译模板?

前端之家收集整理的这篇文章主要介绍了如何在带有RequireJS的Handlebars中使用预编译模板?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想预编译我的Handlebars模板,但我不确定它在开发模式下是如何工作的.

通常的做法是运行像Guard这样的后台流程来持续监控Handlebars模板文件的变化吗?

我正在使用RequireJS来提取模板;例如.:

define(['jquery','handlebars','text!templates/my_template'],function($,Handlebars,myTemplate) {

  // ...

  var data = {"some": "data","some_more": "data"};
  var templateFn = Handlebars.compile(myTemplate);
  $('#target').append(templateFn(data));

  // ...

});

所以我理解一旦模板被预编译,就可以这样做:

define(['jquery','handlebars'],Handlebars) {

  // ...

  var data = {"some": "data","some_more": "data"};
  var template = Handlebars.templates['my_template'];
  $('#target').append(template(data));

  // ...

});

请注意以下有关第二个代码段中的内容

> RequireJS模块不再拉入模板.
>不再使用Handlebars.compile().

因此,只要文件系统级修改发生在模板文件中,我通常会运行Guard以保持模板编译?

基本上我的问题是,开发人员打算这样做吗?

if (development) {
  compile templates
}
else {
  use precompiled templates
}

我也使用Rails,所以也许有一些黑魔法像sass-rails.

解决方法

您是否看过Require.js Handlebars Plugin( https://github.com/SlexAxton/require-handlebars-plugin)或者epeli的requirejs-hbs( https://github.com/epeli/requirejs-hbs)?
原文链接:https://www.f2er.com/js/158815.html

猜你在找的JavaScript相关文章