是否有模板系统允许您在同一个文件中编辑HTML,CSS和Javascript?

时间:2011-03-22 20:54:08

标签: javascript html css web-frameworks templating

当你有一个小的HTML模板时,在HTML旁边的同一个文件中使用与它相关的CSS和Javascript(事件的绑定等)不是很好吗?

你可以将它们放入标签中,但通常你不想这样做,因为当你多次渲染模板时,你最终会在DOM中反复地增加代码。此外,每个尊重web开发人员都希望他们的CSS和Javasciprt在不同的文件中。

但实际上很容易实现一个遍历所有模板的系统,删除所有标签及其内容并将它们放入一个大的.css文件中,然后将内容放到.js文件中,这样就可以加载它们来自不同的文件,最后,tempalates只剩下HTML。

我做到了这一点,我仍在学习如何使用它的最佳实践(例如,你想把Javasript的哪些部分放在那里?),但感觉就像我一直想要的那样开发网络应用程序。所以我想知道是否有任何系统使用相同的方法。

1 个答案:

答案 0 :(得分:0)

解析HTML以删除重复的标签作为标准做法似乎是错误的。在任何情况下,分离内容,风格和行为应该是头等优先级。为什么要结合一些东西只是为了再撕裂它?想象一下,你的CSS在文件中略有不同。你的解析器如何知道要保留哪一个?

IMO Javascript的正确模板方法有一个主HTML文件,它使用HTTP请求加载,再次将CSS和JS链接到应用程序的其余部分。第一个文件也可以链接JS模板文件(例如.jst),或者稍后根据需要使用AJAX请求加载这些文件。然而,这些模板通常只包含结构,内容来自例如使用JSON连接到某种存储的JS模型,“样式”由先前加载的CSS文件提供。

相关:backbone.jssammy.js