2012-02-10 2 views
0

1 - Метод Цепнойначал играть с CoffeeScript - пара основных вопросов

Я действительно люблю то, как вы можете вызывать функции, не засоряя код с кронштейнами, но следующее несоответствие действительно беспокоит меня;

$(this).attr("id").data "foo" 

Метод цепочка, как это в значительной степени требует, чтобы я использовать скобки до до последнего метода в цепочке, это кажется довольно непоследовательно и делает мой ОКР чувства покалывания, как сумасшедшие .. я скучаю понимающим что-то здесь? Есть ли более последовательный, но чистый подход (т. Е. Помимо возврата к использованию скобок везде).

2 - Конфигурация компилятора?

Я использую кофе -watch, чтобы он автоматически скомпилировал файлы, однако -help показывает очень мало аргументов, которые я могу дать, чтобы изменить его поведение. Во-первых, я хотел бы изменить размер вкладки полученного javascript. Есть какой-либо способ сделать это?

+2

Удаление парсеров из промежуточных выражений нетривиально; что такое 'attr 'id" .data "foo" '? Это 'attr (" id "). Data (" foo ")' или 'attr (" id ".data (" foo "))'? Выполнение этого в общем случае намного сложнее, чем может быть предпочтительнее. –

+0

Это также может быть 'attr (" id ".data) (" foo ")' – Flambino

ответ

1

1. Цепной

Нет, это на самом деле не намного чище, чем JavaScript, насколько синтаксис идет. И lots of people жалуются на это. Я думаю, вам просто нужно укусить пулю и принять, что вам нужно знать javascript, чтобы использовать coffeescript, и что не все бородавки javascript решены (пока, во всяком случае). Лично я предпочитаю d3 или JQuery решения разумных отступов:

$(this) 
    .attr('id') 
    .data('foo') 

2. Компилятор конфигурация

Там нет никаких конфигов кроме «--bare» варианты, которые я знаю о , Но его компилятор, а не форматирование. Вы можете отправить свой скомпилированный код через JS Beautfy (или Uglify, если на то пошло). Если вы планируете это делать, я настоятельно рекомендую using a Cakefile. Отъезд this link за то, как вы можете работать с кофе-компилятором.

+0

Спасибо за информацию. Вы в значительной степени подтвердили мои страхи.Надеюсь, он скоро превратится в более надежный язык, или появится вилка, цель которой - делать все правильно с самого начала до конца. – Naatan

0
  1. Нет, вам нужны скобки, если вы хотите сделать цепочку. Хотелось бы, чтобы это было не так, но это

  2. Не то, чтобы я знал. То, что вы видите в --help является то, что вы получите

Но CoffeeScript является открытым исходным кодом, так что вы всегда можете взломать вокруг с ним.

0

Еще одно решение, связанное с настройкой консистенции OCD, - всегда включать скобки для аргументов метода/функции. Цепочка - это не единственная ситуация, когда вам нужно включить их. Мое личное предпочтение было бы для необязательного пропуска круглых скобок, которые будут удалены с языка, но это, вероятно, слишком экстремально для большинства пользователей CoffeeScript. Вместо этого я предпочитаю игнорировать эту «функцию» CS и поощрять своих соратников делать то же самое. Я делаю это для этого here.

Смежные вопросы