转换为.js时,链接带是否会在.coffee.erb中发表评论

时间:2015-04-13 03:57:31

标签: ruby coffeescript erb sprockets

似乎#coffee.erb中的#comment已在最终编译的.js

中被删除

例如:

https://github.com/marcom-unimelb/unimelb-design-system/blob/master/injection/header/header.coffee.erb

文件顶部附近有“#IE helper”之类的评论。

https://github.com/marcom-unimelb/unimelb-design-system/blob/master/Rakefile

在上面的rakefile之后,我运行bundle exec rake assets:compile VERSION=0.8,最后的javascript删除了哈希标记注释。这是有道理的,因为javascript不支持#作为评论的开头。

有没有办法将咖啡脚本中的#转换成//用javascript或类似的东西?

1 个答案:

答案 0 :(得分:0)

来自fine manual

  

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

所以,如果你想得到一个C风格的评论,如:

/* Pancakes */

在您的JavaScript中,您可以使用CoffeeScript块注释:

###
Pancakes
###

你也可以在CoffeeScript中使用back-ticks for embedding JavaScript,但这往往会给你不需要的分号。例如,

`// Pancakes`
你的CoffeeScript中的

变为:

// Pancakes;

在您的JavaScript中。

我倾向于阻止评论,因为(a)他们所做的是什么,以及(b)后面的评论是一个丑陋的黑客。

顺便说一句,它不是Sprockets正在吃你的CoffeeScript评论,就是CoffeeScript本身。