【问题标题】:Installing and using client side templating engines安装和使用客户端模板引擎
【发布时间】:2013-07-04 11:35:31
【问题描述】:
我正在建立一个数据库网站。我目前正在构建各种网页。对于我的搜索结果,我想使用客户端模板引擎。我以前没用过,有一个小问题:
我看到许多模板引擎(我研究过 Handlebars.js 和dust.js 最多)需要在命令行上安装(而不是像 jQuery 那样简单地包含在库中)。虽然我目前正在使用 MAMP 在 Mac 上进行开发并且可以在本地安装它们,但这是否意味着我还需要将它安装在 web 应用程序上线时所在的公共服务器上?
我想知道编译器是否需要安装,然后您只需上传不需要额外代码/安装的预编译模板。
如果有人能澄清一下,那将非常有帮助。
【问题讨论】:
标签:
handlebars.js
dust.js
client-side-templating
【解决方案1】:
您不必在本地安装模板引擎就可以使用它们。实际上,据我所知,在客户端使用模板引擎可以通过两种不同的方式完成:
动态编译和渲染
您通过 AJAX 下载纯模板文件(.hbs、.dust、.mustache 等)或将它们放在 HTML 的中间,例如使用 <script type="text/template">...</script>
然后,将它传递给引擎的compile() 和render() 函数。引擎.js 文件需要包含在您的页面中。
这适用于开发环境,但不适合生产环境。
预编译模板然后渲染
您通过 AJAX 下载预编译的模板(一个 .js 文件,其中包含将返回 HTML 的函数),然后调用引擎的 render() 函数。
这与上述技术相反,需要您以某种方式在本地安装引擎库,以便在投入生产之前预编译它们。
此外,您可能不需要在您的页面中包含引擎库,具体取决于引擎如何编译您的模板。