Embedded Coffeescript (ECO) 模板中的注释
Posted
技术标签:
【中文标题】Embedded Coffeescript (ECO) 模板中的注释【英文标题】:Comments in Embedded Coffeescript (ECO) templates 【发布时间】:2014-03-31 17:12:33 【问题描述】:有没有办法将 cmets(单行和多行)放在 ECO templates 中,这样它们就不会出现在渲染输出中?
例如,Django 模板允许您在 single line 上执行此操作:
# greeting #hello
或multiple lines:
<p>Rendered text with pub_date|date:"c" </p>
% comment %
<p>Commented out text with create_date|date:"c" </p>
% endcomment %
【问题讨论】:
【参考方案1】:<% %>
中的所有内容实际上都是咖啡脚本(ECO = Embedded CoffeeScript)。 CoffeeScript 中的注释使用#
字符来注释单行(而###
用于多行cmets)。见coffeescript - How to comment? "/* this */" doesn't work
所以在 ECO 中你会这样评论:
<% #This is a single line comment %>
如果您检查ECO templates 的源代码,您可以看到处理scanner.js 中的注释情况的正则表达式。
Scanner.modePatterns =
data: /(.*?)(<%%|<%\s*(\#)|<%(([=-])?)|\n|$)/,
code: /(.*?)((((:|(->|=>))\s*))?%>|\n|$)/,
comment: /(.*?)(%>|\n|$)/
;
【讨论】:
【参考方案2】:评论有一个特殊的标签,即<%# %>
例子:
<%# This is a single line comment %>
【讨论】:
以上是关于Embedded Coffeescript (ECO) 模板中的注释的主要内容,如果未能解决你的问题,请参考以下文章
没有 CoffeeScript 的 CoffeeScript 中的问号语法