Подтвердить что ты не робот

Как использовать параметр "--bare" в Rails 3.1 для CoffeeScript?

Кто-нибудь знает, как я могу использовать этот параметр в Rails 3.1? Теперь CoffeScript помещает функцию с .call(this) в каждый файл, но я хочу удалить это.

EDIT: "Невозможно найти переменную" error with Rails 3.1 и Coffeescript" и "шаблон для модулей CoffeeScript " что я хочу. Я изменю свои глобальные вары, чтобы использовать область @global.

4b9b3361

Ответ 1

Я бы рекомендовал не делать этого. См. Мой ответ в Шаблон для модулей CoffeeScript по некоторым причинам. ( "Сделать код CoffeeScript несовместимым с готовыми Rails 3.1" - еще одна причина.) Лучше просто использовать

window.a = b

или даже

@a = b

вместо a = b, когда вы пытаетесь экспортировать что-то в глобальную область.

В предыдущих версиях Rails 3.1 была включена компиляция bare. Это было классифицировано как ошибка и исправлено в RC1.

Итак, хотя я настоятельно рекомендую вам не делать этого, здесь, как включить голую сборку: Добавить

Tilt::CoffeeScriptTemplate.default_bare = true

на ваш environment.rb.

Ответ 2

Я рекомендую воспользоваться закрытием CoffeeScript и следить за распространением модуля CommonJS. Но иногда, иногда, вполне нормально использовать опцию --bare. В моем случае, при оказании помощника Jasmine spec, чтобы я мог держать вещи на верхнем уровне, а также воспользоваться включенной директивой Sprockets в спецификациях Jasmine.

С этой целью я создал драгоценный камень "sprockets-blackcoffee", о котором вы можете узнать здесь. https://github.com/metaskills/sprockets-blackcoffee