nodejs这么火,小小的尝试下…
平台环境:window7
nodejs:nodejs0.6.11
代码
console.log('hello world');
运行结果
各种头大,各种搜索……无果 T_T,换掉文件名以后……
正常输出结果了……
你们以为就这样完了吗?
我把hello.js复制一份,改名为node.js,结果……
各位大大测试下,看有木有啊!
我晕。。。node.exe node.js就正常了。。遇到过
他把 node.js当成一个可执行脚本了。。node 等于执行一个node.js 后面那个成了参数
+1 :)
超级有爱的写法
跑在了 wscript引擎里, 穿越了 ,哈哈哈。
看看环境变量注册对没
node -v
看jscript了
![version][1]
环境变量是没问题的 [1]: http://static.data.taobaocdn.com/up/nodeclub/2012/4f421c7fc643fe22100759781329873462238.jpg
现在问题是为什么用"node node.js"不会正常执行?如何二楼是正解,那么怎么解释同一目录下只要有node.js存在也不行?
搜索一下PATH环境变量的目录里面,有没有 node.com node.cmd node.bat 之类的文件
linux下面没有这个问题 windows下好像不允许node.js这个文件存在 挺奇怪的
因为 .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,所以就能够正常执行了。
学到了
在卖萌么。。骚年