Избавляемся от закрывающей оболочки CoffeeScript - PullRequest
20 голосов
/ 17 апреля 2011

Как я могу опустить автоматические оболочки закрытия, которые скрывают мои переменные от глобальной области видимости?

(function() {
  // my compiled code
}).call(this);

Просто поиграть с CoffeeScript + SproutCore, и, конечно, я бы предпочел оставить эту область какэто так: в этом случае нет необходимости что-либо защищать от перезаписи.

Я знаю, что могу использовать @ или this. при объявлении, но это не слишком элегантно.

Ответы [ 2 ]

42 голосов
/ 17 апреля 2011

Быстрое и грязное решение: используйте флаг консоли -b (голый). Предупреждение: котята умрут, если вы это сделаете!

Чистый раствор: не делайте этого.

Usage: coffee [options] path/to/script.coffee

  -c, --compile      compile to JavaScript and save as .js files
  -i, --interactive  run an interactive CoffeeScript REPL
  -o, --output       set the directory for compiled JavaScript
  -j, --join         concatenate the scripts before compiling
  -w, --watch        watch scripts for changes, and recompile
  -p, --print        print the compiled JavaScript to stdout
  -l, --lint         pipe the compiled JavaScript through JSLint
  -s, --stdio        listen for and compile scripts over stdio
  -e, --eval         compile a string from the command line
  -r, --require      require a library before executing your script
  -b, --bare         compile without the top-level function wrapper
  -t, --tokens       print the tokens that the lexer produces
  -n, --nodes        print the parse tree that Jison produces
      --nodejs       pass options through to the "node" binary
  -v, --version      display CoffeeScript version
  -h, --help         display this help message
7 голосов
/ 04 сентября 2012

Я использовал другую опцию, которая заключалась в том, чтобы прикреплять мои глобальные переменные к глобальному объекту в области действия моей функции. Я прикрепил мой к «окну». Это сохраняет ваш JavaScript инкапсулированным и предоставляет только необходимую переменную в глобальной области видимости.

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