If I have a Coffeescript class defined in a separate file which I'm calling from my main script. I can make the functions within the file globally visible, but not the class.
Included file is:
root = exports ? this
root.add = (a, b) ->
return a + b
class root.userModel
username: 'Aaaa'
name: 'Bbbb'
I can access the function from my main code. How can I create the class?
Your code will indeed make userModel
a global, assuming that exports
is undefined and this
is window
. If you're having problems, check those conditions.
The class ...
form is an expression that returns a value. So, you'll want to assign the result of that class
expression to a property on your export object. Like so:
root.userModel = class userModel
username: 'Aaaa'
name: 'Bbbb'
Update:
Oops, not true, should work fine either as class root.userModel
or as root.userModel = class userModel
.
just define your class with a '@' before its name
class @ClassName
blablabla: -> blablalblablabla