2012-08-02 163 views
1

我是新来的node.js世界,我使用node.js v0.8.4。我搜索了这个问题。是的,我为此得到了解决方案,但仍然无法理解为初学者。所以请帮助我......问题node.js require.paths.unshift()

我正在通过一个node.js教程。在该教程中,使用了node.js v0.1.103,他写道:

require.paths.unshift(__dirname+'/vendor'); 

var http = require('http'), 
sys = require('sys'), 
nodeStatic = require('node-static/lib/node-static'); 

var server = http.createServer(function(request, response) { 
var file = new nodeStatic.Server('./public', function() { 
    cache: false 
    }); 
request.addListener('end', function() { 
    file.server(request, response); 
    }); 
}).listen(8000); 

上面的脚本适用于他。当我编写示例脚本并运行时,出现此错误。

C:\Documents and Settings\local>node C:\xampp\htdocs\rt\node\livestats\ 
server.js 

Error: require.paths is removed. Use node_modules folders, or the NODE_PATH envi 
ronment variable instead. 
at Function.Module._compile.Object.defineProperty.get (module.js:386:11) 
at Object.<anonymous> (C:\xampp\htdocs\rt\node\livestats\server.js:2:8) 
at Module._compile (module.js:449:26) 
at Object.Module._extensions..js (module.js:467:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.runMain (module.js:492:10) 
at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

如何让节点从custome目录加载文件以及如何解决此问题?我的操作系统是Windows

谢谢......

回答

3

require.paths已经过时很久以前。现在,节点v0.1的教程几乎没有任何用处,因为几乎所有的东西都发生了变化。

如果您npm install安装node-static,你可以只使用require("node-static")不用给出完整的路径(当然,没有使用require.paths)。

+0

Hello penartur; 感谢您对节点脚本的服务器node_modules进行回复,现在我有一个新问题。在我的命令行中设置了节点路径 set NODE_PATH = c:\ .. \ node_modules。 这工作时,我确实需要('express'); 但是,当我重新启动我的系统,require('express');它不会工作,它说快速模块没有找到。当我再次通过命令行设置我的NODE_PATH时。它会正常工作。 那么如何设置我的NODE_PATH,以便它在我重新启动系统时不会改变。 非常感谢您...... – sravis 2012-08-08 09:27:00

+0

您是否在项目package.json文件中引用了'express'?你是否从你的项目根文件夹运行'npm install -d'? – penartur 2012-08-10 05:04:59