根据节点js说明手册,强烈建议不要在全局安装任何节点模块.
我尝试过各种各样的事情.我在我的主目录,我的git文件(带有node_modules)文件夹和实际的node_modules文件夹中执行了以下命令.
> var express=require('express');
undefined
> var express=require('node_modules/express');
Error: Cannot find module 'node_modules/express'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at repl:1:13
at REPLServer.self.eval (repl.js:110:21)
at repl.js:249:20
at REPLServer.self.eval (repl.js:122:7)
at Interface.<anonymous> (repl.js:239:12)
at Interface.EventEmitter.emit (events.js:95:17)
Run Code Online (Sandbox Code Playgroud)
请注意,在上面,我期望它们在我的git文件夹中(带有node_modules).我发现这条线很好奇
> var express=require('express');
Run Code Online (Sandbox Code Playgroud)
产生
undefined
Run Code Online (Sandbox Code Playgroud)
在主目录中,我只是得到相同的"找不到模块"错误.
我使用的是最新的Firefox(4.0.1)和Firebug(1.7.2).
每当我在控制台中输入变量声明时,都会返回斜体"未定义"警告.
例如,如果我输入"var x = 5;" 然后响应是"未定义",而不是"5".
之后,如果我在控制台中输入"x",则返回正确的值5.然而,错误/警告有点令人讨厌,我真的想知道原因和解决方案,如果我是唯一遇到此问题的人.
有趣的是,如果我不使用"var"但只是使用"x = 5"声明值,则表明正确的行为,并在控制台中返回"5".