В coffeescript вы можете присвоить объект или класс глобальному пространству имен, добавив определение с помощью символа @
.Присвоить @ отдельному объекту для упрощения пространства имен
например.
class @Dog #This is now available via window.Dog due to the @
constructor :() ->
Но там как-нибудь, чтобы назначить @
символ на другой объект, а не окна?
Когда я попытался @ = {}
, я получил error: unexpected =
Это позволит вам всегда определять свои объекты, чтобы быть пространством имен, но передумали о том, что пространство имен, которое находится в более позднее время. Это позволяет избежать экспорта в каждом отдельном случае. Во время тестирования вы можете установить значение @ на глобальное, а затем установить его в альтернативное пространство имен при развертывании.
Если есть лучший подход или альтернативный способ достижения аналогичной цели, это тоже было бы здорово!
Мне нравится этот подход спасибо. Я закончил определение простого объекта 'scope = @' в верхней части кода, и с этого момента все в этом документе определяется 'scope.Dog'.Вы можете легко изменить пространство имен в любое время для всех объектов. _и читатели вашего кода могут легко увидеть, что происходит. Было ли преимущество в определении функции '@ scope' как функции (в отличие от объекта), которую я пропускаю? –