是否存在允许您在同一文件中编辑HTML、CSS和Javascript的模板系统?

是否存在允许您在同一文件中编辑HTML、CSS和Javascript的模板系统?,javascript,html,css,web-frameworks,templating,Javascript,Html,Css,Web Frameworks,Templating,当您有一个小的HTML模板时,将与之相关的CSS和Javascript(事件绑定等)放在HTML旁边的同一个文件中不是很好吗 您可以将它们放在和标记中,但通常不希望这样做,因为当您多次渲染模板时,最终会在DOM中一次又一次地将代码相乘。此外,每个尊敬的Web开发人员都希望他们的CSS和Javasciprt在单独的文件中 但实际上,实现一个系统非常简单,它可以遍历所有模板,删除所有标签及其内容,并将它们放入一个大的.css文件,然后将其内容放入.js文件,这样您就可以从单独的文件中加载它们,最后T

当您有一个小的HTML模板时,将与之相关的CSS和Javascript(事件绑定等)放在HTML旁边的同一个文件中不是很好吗

您可以将它们放在和标记中,但通常不希望这样做,因为当您多次渲染模板时,最终会在DOM中一次又一次地将代码相乘。此外,每个尊敬的Web开发人员都希望他们的CSS和Javasciprt在单独的文件中

但实际上,实现一个系统非常简单,它可以遍历所有模板,删除所有标签及其内容,并将它们放入一个大的.css文件,然后将其内容放入.js文件,这样您就可以从单独的文件中加载它们,最后Template中只剩下HTML


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

将解析HTML以删除重复标记作为标准做法似乎是错误的。在任何情况下,分离内容、风格和行为都应该是头等大事。为什么要把东西组合起来,再把它撕开?想象一下,您的CSS在不同的文件中略有不同。您的解析器如何知道保留哪一个

在我看来,Javascript的适当模板方法有一个主HTML文件,该文件使用HTTP请求加载,该请求再次链接应用程序其余部分的CSS和JS。第一个文件还可以链接JS模板文件(如jst),或者稍后使用AJAX请求按需加载这些文件。尽管如此,这些模板通常只包含结构,内容来自使用JSON连接到某种存储的JS模型,“样式”由先前加载的CSS文件提供


相关:而且

我很难找到和/或理解这个问题。你说的是Javascript模板吗?您正在使用某种服务器端语言吗?如果是,哪一个?我使用的是Javascript模板。但我相信服务器端模板也可以这样做(尽管如果您想动态删除和标记,可能会有轻微的性能影响)?因为工作时不必跳转三个不同的文件可以提高工作性能。CSS如何知道要使用哪条规则?它通常是这样做的,基于你给它的CSS规则的强度(例如“.top_class.sub_class”over“.sub_class”)。当然,有很多Javascript是你不想放在模板中的,还有很多CSS会影响很多模板。把它们分开存放!但是也有很多,只影响单个模板。为了澄清,CSS和Javascipt与服务器端已经存在的模板是分开的。所以Javascript模板(无论您如何加载)只有HTML,这也是一个可维护性问题。你可以随心所欲地处理你的代码(尽管你问了这个问题;),但是你会注意到,在web开发的历史上,有一个很强的趋势,就是朝着分离和干结构()的方向发展。有充分的理由。我建议按照您建议的方式构建一个更大的应用程序,并在这样做的同时与其他人协作。考虑到我没有误解您的意思,我假设您在开发过程中会遇到一些与您的方法相关的困难。我正在构建一个相对较大的JS应用程序(前端有三名全职开发人员)。我看不出这与干燥原理有什么冲突。我们的想法是只将与模板相关的代码放在其中,到目前为止,我还没有看到和重复来自它。但你是说,你会将每个片段(或模板)所需的JS和CSS放在片段中,然后将所有内容分解并以编程方式存储在单独的文件中,对吗?如果JS库或XY类已经包含在片段1和片段2中,那么它在最终结果中只会自然出现一次?