我重复了蝙蝠侠.js自述文件中的步骤:
npm install -g batman
batman new mj
cd mj
batman server
并在Firebug中尝试打开本地主机: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();
我错过了什么还是应该打开问题?谷歌搜索batman.js global is not defined
没有给出任何相关结果...
正如user341180所指出的那样,问题在于节点.js版本。是否有人为最新版本打补丁,或者降级是当今处理蝙蝠侠最明智的方法?
嗯......在README.md
中指出您需要安装 node.js(目前为 0.4.x,即将推出 0.5.x 支持),但package.json
包含:
"engines": {
"node": "~>0.6.0 || ~>0.7.0"
}
所以,我很困惑。我想,package.json
有最近的更新,所以蝙蝠侠应该使用我的节点.js v0.6.19。
我目前的解决方法是定义root = @
用于class Mj extends Batman.App
,并将@global yes
替换为内部的root.Mj = @
。
0.9.0 和 0.10.0 之间有很多变化,删除global
就是其中之一。 看起来生成器没有更新,仍在生成 0.9.0 代码。
实际上不确定您是如何运行生成器的,它为我抛出了一个关于在未定义的对象上调用camelize
的错误。
无论如何,这绝对是一个 0.10.0 错误。
添加
自述文件看起来也没有从 0.9.0 更新
更多跟进
看起来 Shopify 现在已经在边缘修复了这个问题