chh / mustache-js-compiler
将服务器端Mustache模板编译成自给自足的客户端JS函数
v1.0.0
2014-01-08 13:05 UTC
Requires
- php: >=5.3.8
- phly/mustache: ~1.0
Requires (Dev)
- symfony/process: ~2.1
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功能
- 过滤器