2012-08-02 192 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