如何在CoffeeScript中发表评论?“ / *此* /”无效


142

您可以用什么方式在CoffeeScript中发表评论?

该文档说您可以使用三个哈希符号来启动和关闭注释块:

###
  Comments
  go
  here
###

我发现有时可以使用以下两种格式

`// backticks allow for straight-JavaScript,
 // but the closing backtick can't be on a comment line (I think?)
`

有没有在CoffeeScript中插入简短注释的更简单方法?

请勿使用此样式**

由于这引起了很多意见,我想强调一点

/* Comment goes here */

当单独出现时,会产生MATH错误/*

正如Trevor在对问题的评论中指出的那样,这是一个正则表达式,而不是评论!


15
如果/*...*/注释“有效”,那是因为CoffeeScript编译器将其解释为正则表达式。绝对不推荐!
特雷弗·伯纳姆

1
所以我想CoffeeScript中没有办法在字符间添加内部语句注释?
皮特·阿尔文,2014年

Answers:


267

使用单个#号

# like this

一个字符似乎很小;)

也:

###
This block comment (useful for ©-Copyright info) also gets 
passed on to the browsers HTML /* like this! */
###

4
通常,这就是您要发表评论的方式;当您希望注释落入javascript(通常是版权消息)时,最常使用三元哈希。
亚伦·杜富尔

5
叹了口气。官方文档在其示例中始终使用单个#形式,但从未在文本说明中实际提及它,仅谈论块注释。
格里2012年

1
不幸的是,没有办法在输出中不显示块注释。
nilskp 2014年

24

注释的主要方式是sh / Perl / Ruby / ...样式#注释:

# This comment goes to the end of the line
# and it won't appear in the "compiled"
# JavaScript version.

如果要在JavaScript版本中显示注释,请使用块样式###注释

有时您希望将块注释传递到生成的JavaScript。例如,当您需要在文件顶部嵌入许可标头时。块注释(反映了heredocs的语法)保留在生成的代码中。

所以如果你开始

###
PancakeParser is Public Domain
###

那么您将在生成的JavaScript中获得以下JavaScript注释:

/*
PancakeParser is Public Domain
*/

4

提防 ###!如果您使用###来分隔代码的各个部分(就像我一样),那么当该代码停止运行时,将非常令人惊讶。


你知道为什么吗?我们使代码在本地工作,但不能在带有###的构建服务器上工作。
2013年

不幸的是,我在几个月前注意到了这一点,而我现在还没有“进入那个领域”来研究它。
Mark Wilden

10
因为一对发表了评论?

3
如果您使用语法突出显示的编辑器,并且注释以不同的颜色显示,也不会感到惊讶
Nick Perkins 2015年

4
为什么要投票?这是一个有效的警告。确实,这是说不要使用#的实线作为节分隔符,否则您可能偶尔会得到不平衡的块注释对。
Jim Mack
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.