Если я устанавливаю пакет SassAndCoffee.Core из NuGet, а затем запрашиваю SassAndCoffee для компиляции некоторого CoffeeScript, кажется, что он передает опцию «bare» компилятору CoffeeScript - т. Е. Он не оборачивает мой скрипт в обычный CoffeeScript (function() {
и }).call(this);
форзацы.
Есть ли способ заставить SassAndCoffee не использовать опцию "голый"?
Примечание: это в настольном приложении, и я явно обращаюсь к коду SassAndCoffee - это не волшебное переписывание, которое происходит на сайте ASP.NET.
Подробнее: вот мой код для компиляции CoffeeScript с использованием SassAndCoffee.
var sassCompiler = new CoffeeScriptCompiler();
var js = sassCompiler.Compile("alert 'Hello World'");
, что приводит к следующему (пустому) выводу в переменной js
:
alert('Hello World');
Но если я напишу какой-нибудь простой JavaScript, который вызывает официальный компилятор CoffeeScript с параметрами по умолчанию, например, этот HTML-файл (поместите coffee-script.js в тот же каталог):
<code><script src="coffee-script.js"></script>
<script>
document.write("<pre>")
document.write(CoffeeScript.compile("alert 'Hello World'"))
document.write("
")
Я получаю ожидаемый упакованный вывод JavaScript:
(function() {
alert('Hello World');
}).call(this);
Похоже, SassAndCoffee звонит CoffeeScript.compile(input, {bare: true})
вместо CoffeeScript.compile(input)
.
Я бы хотел использовать SassAndCoffee.Core для его поддержки V8, но я хочу иметь возможность выбирать между выводом по умолчанию и выводом без вывода. Если не считать переписывания компилятора CoffeeScript от SassAndCoffee (который как бы лишает смысла использование SassAndCoffee) или добавления и добавления кода оболочки вручную (я чувствую себя грязно, дублируя работу, которую должен делать компилятор), есть ли способ, которым я могу получить SassAndCoffee для вывода не голого JavaScript?