#coffeescript
#coffeescript
Вопрос:
Если я установлю SassAndCoffee.Основной пакет из NuGet, а затем попросите SassAndCoffee скомпилировать какой-нибудь CoffeeScript, похоже, он передает «голую» опцию компилятору CoffeeScript — т. Е. Он не оборачивает мой скрипт в обычные (function() {
и }).call(this);
форзацы CoffeeScript.
Есть ли способ заставить SassAndCoffee не использовать «голую» опцию?
Примечание: это в настольном приложении, и я явно вызываю код SassAndCoffee — это не волшебное переписывание, которое происходит в ASP.NET сайт.
Подробнее: Вот мой код для компиляции CoffeeScript с использованием SassAndCoffee.
var sassCompiler = new CoffeeScriptCompiler();
var js = sassCompiler.Compile("alert 'Hello World'");
что приводит к следующему (голому) выводу в js
переменной:
alert('Hello World');
Но если я напишу какой-нибудь простой JavaScript, который вызывает официальный компилятор CoffeeScript с параметрами по умолчанию, например, этот HTML-файл (drop 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})
вместо just CoffeeScript.compile(input)
.
Я бы хотел использовать SassAndCoffee.Core для его поддержки версии 8, но я хочу иметь возможность выбирать между выводом по умолчанию и голым выводом. Если не считать переписывания компилятора CoffeeScript от SassAndCoffee (что в некотором роде лишило бы смысла использовать SassAndCoffee) или ручного добавления и добавления кода-оболочки (я бы чувствовал себя грязным, дублируя работу, которую должен выполнять компилятор), есть ли какой-нибудь способ заставить SassAndCoffee выводить не голый JavaScript?
Ответ №1:
Если я правильно это понимаю, то, похоже, это явное решение разработчиков:
Это также может предоставить вам файл, который вам нужно изменить, чтобы изменить его в соответствии с вашими потребностями.
В качестве альтернативы, на случай, если вы застряли, я использую Mindscape Web Workbench в качестве плагина Visual Studio, который, похоже, выполняет большую часть того, что, по-видимому, выполняет SassAndCoffee за вас.
Комментарии:
1. Я действительно хочу скомпилировать CoffeeScript во время выполнения, а не в IDE, и не похоже, что Mindscape Web Workbench позволяет мне это сделать. Тем не менее, окончательный ответ здесь, похоже, «Нет, (в настоящее время) нет способа заставить SassAndCoffee выводить не-голый JavaScript», что соответствует тому, что я слышал от автора.