我注意到在编译CoffeeScript时,不会保留任何单行注释。

这是有问题的,因为我正尝试在CoffeeScript中编写一个candymonkey/用户脚本,并且它们依赖于元数据块的注释。

我尝试使用反引号,但是注释周围的反引号似乎存在问题:

`// ==UserScript==
// @version       1.0
// ==/UserScript==`

alert "hello world"

成为
// ==UserScript==
// @version       1.0
// ==/UserScript==;alert("hello world");

如果在结束点之前添加额外的一行,我会得到:
// ==UserScript==
// @version       1.0
// ==/UserScript==
;alert("hello world");

具有自动包装的便利也很好。.但是我想如果没有-bare,元数据块也将被包装。

有没有更好的方法可以解决这个问题?

最佳答案

我不使用CoffeeScript,但是从文档看来,您可以使用:

###
// ==UserScript==
// @version       1.0
// ==/UserScript==
###
alert "hello world"

这将产生:
/*
// ==UserScript==
// @version       1.0
// ==/UserScript==
*/
alert("hello world");

完全可以作为GM脚本解析。元数据读取正确。

10-08 07:12