I've repeated steps from batman.js readme:
npm install -g batman
batman new mj
cd mj
batman server
And got this in Firebug trying to open localhost:1047
global is not defined
Mj.run();
localhost:1047 (line 52)
Mj.global is not a function
Mj.global(true);
mj.js (line 15)
Mj is undefined
Mj.run();
Did I missed something or should I open issue? Googling batman.js global is not defined
gives no relevant results...
As it was pointed by user341180, problem is about node.js version. Have anybody patch for latest versions, or downgrade is the most wise way to deal with batman today?
Hmmm... In README.md
it is stated that you'll need to install node.js (0.4.x for now, 0.5.x support forthcoming), but package.json
contains:
"engines": {
"node": "~>0.6.0 || ~>0.7.0"
}
So, I'm confused. I suppose, package.json
has more recent update, so batman should work with my node.js v0.6.19.
My current workaround is to define root = @
befor class Mj extends Batman.App
and replace @global yes
with root.Mj = @
inside one.
There were a lot of changes between 0.9.0 and 0.10.0 and removing global
was one of them. Looks like the generator wasn't updated and is still generating 0.9.0 code.
I'm not actually sure how you're running the generator, it throws an error about calling camelize
on an undefined object for me.
Anyway, this is definitely a 0.10.0 bug.
The readme also looks like it wasn't updated from 0.9.0
Looks like Shopify have fixed this in edge now