在gvim中运行节点:ReferenceError:未定义范围

时间:2014-01-25 01:33:48

标签: javascript node.js vim

我的系统:xp + gvim + node.js 我打开gvim来编辑一个javascript语句,该文件还没有名字。

 print(sum(range(1, 10)));

当我输入

:w !node

我收到错误输出:

C:\WINDOWS\system32\cmd.exe /c ( node ^<C:\DOCUME~1\sanya\LOCALS~1\Temp\VIi8C.tmp)    
print(sum(range(1, 10)));    
  ^    
ReferenceError: range is not defined    
at [stdin]:1:11    
at Object.<anonymous> ([stdin]-wrapper:6:22)    
at Module._compile (module.js:456:26)    
at evalScript (node.js:532:25)    
at ReadStream.<anonymous> (node.js:154:11)    
at ReadStream.EventEmitter.emit (events.js:117:20)    
at _stream_readable.js:920:16    
at process._tickCallback (node.js:415:13)    
shell returned 8    
Hit any key to close this window...    

如何解决错误?

当我在gvim中将print(sum(range(1, 10)));更改为print("hallo world");并输入w ! node时,我得到了相同的输出?

为什么在eloquentjavascript.net/chapter1.html的javasript窗口中,我能得到正确答案?

enter image description here

1 个答案:

答案 0 :(得分:1)

您必须定义“范围”,“总和”和“打印”功能。

一旦你这样做,你的JavaScript代码将由节点解释器执行。

此外,gvim的使用与此无关。从命令行运行该代码将产生相同的结果。