2013-04-05 91 views
1

我需要使用CoffeScript編寫bookmarklet代碼。像這樣的東西(JS):Bookmarklet和CoffeeScript

javascript: (function() { 
//.... 
}()); 

但是,當我試圖在CoffeeScript中

來寫這個代碼
javascript: (-> 
#... 
)() 

我得到了以下幾點:

({ 
    javascript: (function() { 
//... 
    })() 
}); 

如何避免加入「 ({});「

回答

1

您可以添加-b(或--bare標誌)以在沒有頂級函數包裝的情況下進行編譯。
查看更多的$ coffee --help

UPD
-b是沒有幫助的,如果你想擺脫牙套和周圍javascript: .. - 他們是JavaScript對象語法的一部分。

你可以寫你的咖啡的代碼,而javascript:(在書籤的情況下,是一個協議的名稱,而不是代碼的一部分),但後來添加:

$ echo '(-> alert "hello!")()' > xx.coffee 
$ echo javascript:`coffee -bjcp xx.coffee` 
javascript:(function() { return alert("hello!"); })(); 
+0

我總是編譯以下標誌咖啡文件:-wbco但無論如何我得到了這個包裝 – 2013-04-05 12:49:15

+0

哦,對不起。似乎我只是誤解了你的問題。查看更新的答案。 – 2013-04-05 13:04:02