蛋白石在Chrome中加载但在节点中没有加载(ReferenceError:Opal​​未定义)

时间:2015-01-05 21:33:28

标签: javascript ruby node.js google-chrome opalrb

例如,如果我只运行以下内容:

node opal.min.js

结果是: /home/benjamin/workspace/1/opal.min.js:1 klass){return obj.toString()}else{return obj.$inspect()}})}(self)})(Opal);(fun ^ ReferenceError: Opal is not defined at Object.<anonymous> (/home/benjamin/workspace/1/opal.min.js:1:15264) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3

但是,如果我在Chrome中的页面中加载蛋白石并编译“hello world”脚本,它运行得很好,没有任何抱怨。我无法弄清楚为什么会这样。我真的希望能够使用Node运行这些脚本。

1 个答案:

答案 0 :(得分:0)

Opal v0.7已与explicit Node.js support一起发布。

事实上,Node.js是CLI的默认运行器,stdlib中有一个nodejs文件,它将添加File(Dir,IO等)的(基本)平台特定实现。例如:

$ opal -rnodejs -e 'exit 127'
$ echo $?
127