Запустите класс CoffeeScript в браузере и в узле
У меня есть класс в CoffeeScript, который я хотел бы использовать как на сервере, так и в более широком.
Для сервера мне нужно
class classname
constructor: (@arg)->
#code
module.classname = classname
Но для brwoser мне нужно
class classname
constructor: (@arg)->
#code
window.classname = classname
Есть ли способ сделать так, чтобы поддерживался только один файл?
1 ответ
Решение
В общем случае это требует использования таких библиотек, как http://requirejs.org/ и http://browserify.org/, но в вашем случае вы можете просто написать:
class classname
constructor: (@arg)->
#code
module?.classname = classname
window?.classname = classname
Этот код проверит наличие module
а также window
переменные до их изменения.