chh/mustache-js-compiler

将服务器端Mustache模板编译成自给自足的客户端JS函数

v1.0.0 2014-01-08 13:05 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:08:34 UTC


README

将服务器端Mustache模板编译成自给自足的客户端JS函数。使用优秀的PhlyMustache

安装

composer require 'chh/mustache-js-compiler':~1.0@dev

用法

编译器需要一个 Phly\Mustache\Mustache 实例才能工作。

如果您打算在服务器和客户端之间共享模板,则建议使用应用程序使用的同一Mustache实例,以便模板路径以相同的方式设置(以便正确编译部分)。

<?php

$mustache = new Phly\Mustache\Mustache;
// or use the same Mustache environment than your application:
$mustache = $app['mustache'];

然后创建编译器,并传入Mustache环境

$jsCompiler = new CHH\MustacheJsCompiler\MustacheJsCompiler($mustache);

编译器有一个 compile 方法,它的工作方式与 $mustache->tokenize() 相同。它在模板路径中查找模板名称,或使用传递的Mustache代码。`compile` 方法返回一个自给自足的JavaScript函数,该函数执行模板。

模板看起来像这样

{{! user/show.mustache }}
Hi {{name}}!

我们可以使用此代码来渲染模板

<div id="user-widget"></div>
<script>
  (function() {
    var template = <?php echo $jsCompiler->compile('user/show') ?>;
    var widget = document.getElementById('user-widget');
    widget.innerHTML = template({name: "Christoph"});
  })();
</script>

未实现Mustache功能

  • 过滤器