gpt4 book ai didi

javascript - 维护正确的 CSS\Javascript 和使用模板引擎——矛盾吗?

转载 作者:行者123 更新时间:2023-11-28 18:54:33 25 4
gpt4 key购买 nike

模板引擎(Velocity、FreeMaker 等)可让您将 HTML 拆分为可重复使用的 block 。例如。你有一个<div>显示出现在您网站很多地方的广告 - 您可以编写一个包含该广告的文件 <div>及其内容一次(使用 Velocity:一个“myAd.vm”文件),然后将其加载到任何必要的页面(使用 Velocity:应用 #parse('myAd.vm')

我喜欢将这些 .vm 文件视为函数,它们被“调用”(解析)并吐出文本内容。它们可以有“参数”——在 Velocity 中你可以 #set( $myParam = 'foo' )在解析“myAd.vm”文件之前,在该文件中使用该变量。

我的问题是:在它们自己的文件中定义 CSS 和 Javascript 的正确方法如何与之相适应?

“myAd.vm”需要 CSS 样式,您可以使用 <style> 在该文件中定义该 CSS。标签 - 这将导致在其 <body> 中带有样式标签的 HTML 文档- 不在其 <head> 中,当然不在单独的文件中。

或者,您可以在单独的“myAd.css”文件中定义“myAd.vm”所需的 CSS,并要求解析“myAd.vm”的任何 HTML 文档都具有 <LINK REL="StyleSheet" HREF="myAd.css" TYPE="text/css">。在它的头部标签中。这是一个问题,因为它使事情变得更加复杂和繁琐,并且 - 您可能希望根据条件实际解析“myAd.vm”文件(例如,在 Velocity 中,您可以有 #if(someCondition) #parse('myAd.vm') #end ) - 这意味着您不需要'实际上事先知道 head 标签是否应该链接到那个外部 CSS 文件。

有什么想法吗?谢谢。

最佳答案

我使用的大多数框架都让您能够进行某种函数调用,这种函数调用充当 css 或 js 文件的包含,然后将这些在头部输出到外部文件。在许多情况下,我实际上通过一个压缩器运行所有这些,所以最后只有一个 css 和一个 js 文件。

通过这种方式,您可以从 View 局部中添加到 Assets 堆栈,并将内容直接放入头部。

关于javascript - 维护正确的 CSS\Javascript 和使用模板引擎——矛盾吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335126/

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