CoffeeScript: coffee -w name-of-file.coffee жалуется: «окно не определено» - PullRequest
9 голосов
/ 14 июня 2011

В CofeeScript я создаю глобальный объект, выполняя это:

window.App = 
  init : ->
    ...

Запуск coffee -w app.coffee жалуется window is not defined и не переписывает файл app.js.

Однако, запуск coffee -c app.coffee компилируется без проблем. Как я могу заставить coffee -w принять глобальный window?

Версия CoffeeScript 1.1.1 (из coffee -v)

Спасибо!

1 Ответ

20 голосов
/ 14 июня 2011

Если вы хотите посмотреть файл и скомпилировать его, вам нужно сделать:

coffee -wc file.coffee

Использование только флага -w заставляет кофе просто запускать скрипт при его изменении, как если бы вы запустили:

coffee file.coffee

Что касается ошибки window is not defined, если вы хотите, чтобы ваш скрипт выполнялся как в браузере, так и в node.js, то вы можете сделать это:

root = exports ? this

class Thing
  constructor: (@name) ->
  whoAreYou: ->
    alert @name

root.Thing = Thing

Еще одна полезная комбинация флагов - это -wp, которая просто передает стандартный код компиляции JavaScript каждый раз, когда вы вносите изменения в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...