nodejs这么火,小小的尝试下...
平台环境:window7
nodejs:nodejs0.6.11
代码
console.log('hello world');
运行结果 node node.js
各种头大,各种搜索......无果 T_T,换掉文件名以后...... node hello.js
正常输出结果了......
你们以为就这样完了吗?
我把hello.js复制一份,改名为node.js,结果...... node hello.js
各位大大测试下,看有木有啊!
![version][1]
环境变量是没问题的 [1]: http://static.data.taobaocdn.com/up/nodeclub/2012/4f421c7fc643fe22100759781329873462238.jpg
因为 .js 在 PATHEXT 里,所以在 cmd 里输入 node 查到了 ./node.js 然后执行了关联的 cscript node.js powershell 党路过......
这个问题其实很好解释: 因为windows把.js扩展名关联到了wscript.exe这个windows下的JScript脚本引擎,所以Windows命令解释器在执行"node node.js"这个命令行时,在当前目录中找到了"node.js"这个脚本,被解释成" wscript.exe node.js node.js"来执行, wscript.exe脚本引擎里没有定义 console这个对象,自然就会出错误。如果将node.js放到一个子目录"script"中,那么命令行" node script\node.js", 就会正常执行。因为Windows命令解释器在他的命令搜索路径中已经找不到node.js这个脚本,而是找到了node.exe,所以就能够正常执行了。