Node.js的找不到基本功能
我刚安装的node.js(V7.1.0)和NPM(3.10.9)与自制,我试图运行一个基本的Web服务器。
编辑*我现在实例化调度,但仍然得到同样的错误
var http = require('http');
var port = 8080;
var HttpDispatcher = require('httpdispatcher');
var http = require('http');
var dispatcher = new HttpDispatcher();
dispatcher.setStaticDirname(__dirname);
dispatcher.setStatic('');
dispatcher.onGet("/page1", function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Page One');
});
var server = http.createServer().listen(port);
server.on('request', function (req, res) {
console.log('GOT');
dispatcher.dispatch(req, res);
});
当我运行命令节server.js我得到这个错误
dispatcher.setStaticDirname(__dirname);
TypeError: dispatcher.setStaticDirname is not a function
at Object.<anonymous> (/Users/NodeJS/node_modules/server.js:5:12)
at Module._compile (module.js:573:32)
at Object.Module._extensions..js (module.js:582:10)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)
at Module.runMain (module.js:607:10)
at run (bootstrap_node.js:420:7)
at startup (bootstrap_node.js:139:9)
at bootstrap_node.js:535:3
我得到了dispatcher.onGet调用同样的错误。
回答如下:您未使用正确httpdispatcher
。使用它之前,你必须初始化调度。
var HttpDispatcher = require('httpdispatcher');
var dispatcher = new HttpDispatcher();