asp.net-mvc – 预编译Hogan.js模板服务器端ASP.NET MVC
我正在通过推特浏览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文件,其中包含针对以后使用而优化的函数.这些函数包括模板字符串,以及将数据呈现为Mustache的逻辑.然后,您可以像其他任何JavaScript包含一样包含输出文件,或者如果您这样做,可以将其与其他来源一起包括在内. 第二个选项是在服务器端呈现模板.这与预编译不同,服务器将为每个Web请求再次编译和呈现模板.离开Hogan.js,看看像Nustache这样的.NET替代品.关于Mustache的好处是它有一个规范,并已被移植到几种服务器端语言. 在渲染发生的位置方面,这些选项存在根本区别.您甚至可能希望在某些情况下使用这两种方法,例如,如果您想使用Nustache渲染初始页面加载服务器端,但是必须使用通过Hogan预编译的模板在浏览器中呈现动态元素. 更多信息: 我希望你觉得这有用! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何从ActionFilter访问ModelState?
- asp.net-mvc – ASP.Net MVC – HTTP状态代码(即303,401,40
- asp.net-mvc – MVC5中的默认控制器和默认操作
- asp.net-web-api – APIController“已执行”方法?
- asp.net-core – 无法加载DLL’api-ms-win-core-registry-l
- .net – 使用PowerPivot的MVC 4 WebApi?
- asp.net – 解决方案:在使用User控件时,元素不是vs2008中的
- asp.net – 无法让Web API在VS 2010或2012中运行
- 如何在ASP.NET MVC中配置3个级别的URL?
- asp.net-core – 如何在asp.net核心中修改HttpContext.Requ