是否可以保留单行注释? (在 CoffeeScript 中编写greasemonkey/userscripts)
Posted
技术标签:
【中文标题】是否可以保留单行注释? (在 CoffeeScript 中编写greasemonkey/userscripts)【英文标题】:Is it possible to keep single-line comments? (Writing greasemonkey/userscripts in CoffeeScript) 【发布时间】:2011-09-23 22:30:50 【问题描述】:我注意到在编译 CoffeeScript 时,没有保留任何单行 cmets。
这是有问题的,因为我正在尝试在 CoffeeScript 中编写油脂猴/用户脚本,并且它们依赖于 cmets 作为元数据块。
我尝试过使用反引号,但 cmets 周围的反引号似乎有问题:
`// ==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
,元数据块也会被包装。
有没有更好的方法可以解决这个问题?
【问题讨论】:
【参考方案1】:我不使用 CoffeeScript,但从文档看来您可以使用:
###
// ==UserScript==
// @version 1.0
// ==/UserScript==
###
alert "hello world"
这会产生:
/*
// ==UserScript==
// @version 1.0
// ==/UserScript==
*/
alert("hello world");
它可以完美地解析为 GM 脚本。元数据读取正确。
【讨论】:
这 几乎 工作.... 但是,如果您尝试使用 Sprockets,则使用这种方法会遇到错误(因为//= <something>
已替换为<something>
的代码,所以你得到 /* //= require require
消耗品,您可以使用 *=
,如下所示:gist.github.com/joliss/9480786(以防其他人想知道)以上是关于是否可以保留单行注释? (在 CoffeeScript 中编写greasemonkey/userscripts)的主要内容,如果未能解决你的问题,请参考以下文章