如果我從安裝在的NuGet包SassAndCoffee.Core,然後問SassAndCoffee編譯一些的CoffeeScript,它似乎通過「裸」選項,將CoffeeScript的編譯器 - 即它不換我在CoffeeScript中的平常(function() {
腳本}).call(this);
書擋。SassAndCoffee使用'裸'選項編譯CoffeeScript。我可以控制這個嗎?
有沒有辦法讓我SassAndCoffee 不是使用「裸」選項?
注意:這是在桌面應用程序中,我明確調用了SassAndCoffee的代碼 - 這不是在ASP.NET網站中發生的魔術重寫。
更多細節:這是我的代碼,使用SassAndCoffee編譯CoffeeScript。
var sassCompiler = new CoffeeScriptCompiler();
var js = sassCompiler.Compile("alert 'Hello World'");
這導致以下的(裸)輸出在js
變量:
alert('Hello World');
但是如果我寫一些簡單的JavaScript調用official CoffeeScript compiler默認選項,例如這個HTML文件(下降coffee-script.js到同一個目錄):
<script src="coffee-script.js"></script>
<script>
document.write("<pre>")
document.write(CoffeeScript.compile("alert 'Hello World'"))
document.write("</pre>")
</script>
我得到預期的,包裹的JavaScript輸出:
(function() {
alert('Hello World');
}).call(this);
看起來SassAndCoffee呼籲CoffeeScript.compile(input, {bare: true})
,而不是僅僅CoffeeScript.compile(input)
。
我想使用SassAndCoffee.Core其V8支持,但我希望能夠默認輸出和裸露輸出之間進行選擇。沒有重寫SassAndCoffee的CoffeeScript編譯器(這可能會擊敗使用SassAndCoffee)或者手動添加和附加包裝器代碼(我覺得編譯器應該做的工作很髒),有什麼方法可以獲得SassAndCoffee輸出非裸JavaScript?
我實際上是想在運行時編譯CoffeeScript,而不是在IDE中,它看起來不像Mindscape Web Workbench讓我那樣做。儘管如此,最終的答案似乎是「不,現在沒有辦法讓SassAndCoffee輸出非裸JavaScript」,這與我從作者那裏聽到的一致。 –