如果我从NuGet安装SassAndCoffee.Core包,然后让SassAndCoffee编译一些CoffeeScript,它似乎将“裸”选项传递给CoffeeScript编译器 - 也就是说,它不会将我的脚本包装在CoffeeScript的常用{ {1}}和(function() {
书挡。
有没有办法让SassAndCoffee 不使用“裸”选项?
注意:这是在桌面应用程序中,我明确地调用了SassAndCoffee的代码 - 这不是在ASP.NET站点中发生的神奇重写。
更多细节:这是我使用SassAndCoffee编译CoffeeScript的代码。
}).call(this);
导致var sassCompiler = new CoffeeScriptCompiler();
var js = sassCompiler.Compile("alert 'Hello World'");
变量中的以下(裸)输出:
js
但是,如果我编写一些简单的JavaScript,使用默认选项调用official CoffeeScript compiler,例如这个HTML文件(将coffee-script.js放到同一目录中):
alert('Hello World');
我得到了预期的包装JavaScript输出:
<script src="coffee-script.js"></script>
<script>
document.write("<pre>")
document.write(CoffeeScript.compile("alert 'Hello World'"))
document.write("</pre>")
</script>
看起来SassAndCoffee正在调用(function() {
alert('Hello World');
}).call(this);
而不只是CoffeeScript.compile(input, {bare: true})
。
我想使用SassAndCoffee.Core支持V8,但我希望能够在默认输出和裸输出之间进行选择。没有重写SassAndCoffee的CoffeeScript编译器(这有点打败使用SassAndCoffee的点),或者手动预先添加和附加包装器代码(我觉得编译器应该做的脏重复工作),有什么方法我可以得到SassAndCoffee输出非裸JavaScript吗?
答案 0 :(得分:1)
如果我正确阅读,那么开发人员似乎是明确的决定:
这也可能为您提供需要更改的文件,以根据您的需要进行修改。
作为替代方案,如果您遇到困难,我会使用Mindscape Web Workbench作为Visual Studio插件,它似乎可以完成SassAndCoffee为您完成的大部分工作。