gpt4 book ai didi

asp.net-mvc - 预编译 Hogan.js 模板服务器端 ASP.NET MVC

转载 作者:行者123 更新时间:2023-12-01 05:25:17 26 4
gpt4 key购买 nike

我正在 Twitter 上查看 Hogan.js。

http://twitter.github.com/hogan.js/

他们谈到能够通过服务器预编译模板,我理解这可以提高性能。

目前,每次渲染模板时,我都会在 AJAX 命中服务器以获取数据后执行以下操作:

     var template = Hogan.compile($('#seasonsTmpl').html());
$('#main').html(template.render(data));

给定以下模板:
<script type="text/html" id="seasonsTmpl">

<ul>
{{#season}}
<li>{{.}}</li>
{{/season}}
</ul>

</script>

如何使用 ASP.MVC 后端“预编译”服务器端?这是不可能的,因为它似乎以使用 Node.js 为中心?

最佳答案

您有优化模板的正确想法。有两个选项,选择可能取决于您是要在客户端还是在服务器端呈现模板。

如果您想在客户端呈现它们,您可以使用 Hogan.js 进行真正的预编译。是的,这不能在 .NET 上运行,但我认为您误解了何时可以进行预编译。您可以将模板作为构建过程的一部分预先编译,而不是期望它在每个 Web 请求或页面加载时发生。你需要安装 node 和 npm 来设置它,但你只需要在你自己的机器上本地运行它,或者如果你使用一个构建框。每当您更新模板时,您都会再次运行 Hogan 以更新输出文件。编译后的输出将是一个 JavaScript 文件,其中包含为以后使用而优化的函数。这些函数包括您的模板字符串,以及将数据呈现为 la Mustache 的逻辑。然后,您可以像任何其他 JavaScript 包含一样包含输出文件,或者如果您这样做,则可以将其与其他源一起包含以进行缩小。

第二个选项是在服务器端呈现模板。这与预编译不同,服务器将为每个 Web 请求再次编译和呈现模板。远离 Hogan.js,看看 .NET 替代品,如 Nustache。 Mustache 的伟大之处在于它有一个规范,并且已经被移植到多种服务器端语言。

这些选项在渲染发生的位置方面存在根本差异。您甚至可能希望在某些情况下利用这两种方法,例如,如果您想使用 Nustache 在服务器端呈现初始页面加载,但必须使用通过 Hogan 预编译的模板在浏览器中呈现动态元素。

更多信息:
Nustache on Github

我希望你觉得这有用!

关于asp.net-mvc - 预编译 Hogan.js 模板服务器端 ASP.NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com