Javascript 服务器端的jQuery模板
有没有人尝试在服务器端使用(或任何其他基于JavaScript的模板)类似的东西 我正在考虑尝试通过在web应用程序的客户端或服务器端呈现相同的模板来获得什么好处,但我希望有人可能已经有一些经验,或者知道现有的项目正在这样做。与一些更传统的模板引擎相比,我特别有兴趣了解可能遇到的任何性能问题Javascript 服务器端的jQuery模板,javascript,jquery,templates,serverside-javascript,envjs,Javascript,Jquery,Templates,Serverside Javascript,Envjs,有没有人尝试在服务器端使用(或任何其他基于JavaScript的模板)类似的东西 我正在考虑尝试通过在web应用程序的客户端或服务器端呈现相同的模板来获得什么好处,但我希望有人可能已经有一些经验,或者知道现有的项目正在这样做。与一些更传统的模板引擎相比,我特别有兴趣了解可能遇到的任何性能问题 总结一下:有人在服务器站点上使用过jquery模板吗?如果是这样,是否有任何性能问题,或者我可能遇到的其他问题?我的一位朋友在一个分布式遗传编程项目中使用js sevrer端模板系统来管理所有用户浏览器中产
总结一下:有人在服务器站点上使用过jquery模板吗?如果是这样,是否有任何性能问题,或者我可能遇到的其他问题?我的一位朋友在一个分布式遗传编程项目中使用js sevrer端模板系统来管理所有用户浏览器中产生的所有web工作人员。他的代码在这里:。我不知道它会有多大帮助,但我知道它的实现非常简单,并且做了一些惊人的事情。从他发现它的简单程度来看,我推荐一个js模板系统。编写服务器端代码来处理jQuery模板是相当简单的 下面是我创建的将jquery模板字符串的结果返回到任何对象数组的函数。目前它只进行数据值的替换
Public Shared Function RenderTemplate(template As String, list As Array) As String
Dim myRegexOptions As RegexOptions = RegexOptions.Multiline
Dim myRegex As New Regex(strRegex, myRegexOptions)
Dim splits = myRegex.Split(template)
Dim matches = myRegex.Matches(template)
Dim i As Integer = 0
Dim swap As Boolean = False
Dim str As New StringBuilder
For Each item In list
swap = False
For i = 0 To splits.Length - 1
If swap Then
str.Append(CallByName(item, splits(i), CallType.Get, Nothing))
Else
str.Append(splits(i))
End If
swap = Not swap
Next
Next
Return str.ToString
End Function
因此,如果我发送以下内容
Dim strTargetString As String = "<p><a href='${Link}'>${Name}</a></p>"
Dim data As New Generic.List(Of TestClass)
data.Add(New TestClass With {.Link = "http://stackoverflow.com", .Name = "First Object"})
data.Add(New TestClass With {.Link = "http://stackexchange.com", .Name = "Second Object"})
Return Render(strTargetString, data.ToArray)
Dim strTargetString As String=“”
Dim数据作为新的泛型.List(属于TestClass)
data.Add(带有{.Link=”的新TestClass)http://stackoverflow.com,.Name=“第一个对象”})
data.Add(带有{.Link=”的新TestClass)http://stackexchange.com,.Name=“第二个对象”})
返回渲染(strTargetString,data.ToArray)
它会将其作为字符串输出
<p><a href='http://stackoverflow.com'>First Object</a></p>
<p><a href='http://stackexchange.com'>Second Object</a></p>
这比在服务器上生成一个假的浏览器对象,运行整个jQuery库来替换几个标记要快得多。
env.js
是不必要的
我正在指定和重新实现JQuery模板,以允许它们独立于DOM使用。有关代码和演示,请参见。该规范在上提供,说明:
以文本为中心,而不是依赖于DOM。状态:完成。参见第12节实现。foo${bar}转换为非常类似于函数(数据、选项){返回“foo”+bar;}对bar进行一些去弯曲的模化
这将允许在服务器端javascript环境(如node.js或java/rhino)中使用此模板引擎
我会喜欢反馈,可以帮助你开始
你的问题是什么?(另请参阅)服务器端更可靠,因为客户端您不知道用户规范,并且可能会显著降低用户端的性能您可能需要查看@getify的博客()-他一直在大肆宣扬客户机和服务器之间模板和验证机制的对等性-概括一下:有人在服务器站点上使用过jquery模板吗?如果是这样的话,是否有任何性能问题,或者我可能遇到的其他问题?刚刚找到的答案表明,PHP和.Net中分别有两个jQuery模板呈现器。。。呈现最简单的案例模板很容易,但是当模板包含对JavaScript函数的函数调用(这在现实场景中并不少见)时会发生什么?如果不在服务器端实际使用JavaScript,这是很困难的。