2016-11-15 24 views
4

homebrewでnode.js(v7.1.0)とnpm(3.10.9)をインストールしましたが、基本的なWebサーバーを実行しようとしています。私は今、ディスパッチャをインスタンスが、それでも私は、コマンドノードserver.jsを実行したときに、私はこのエラーNode.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 

を取得


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); 
}); 

同じエラーを取得します*

編集私はdispatcher.onGet呼び出しで同じエラーが発生します。

+1

package.jsonに 'httpdispatcher'を追加して' npm install'を実行しましたか? – Enrichman

+0

私は「NPM httpdispatcherをインストール」コマンドを実行し、まだ余分なラインは、私はこのライブラリのドキュメントによると、同じエラー –

答えて

8

httpdispatcherは正しく使用されていません。ディスパッチャを使用する前にインスタンス化する必要があります。

var HttpDispatcher = require('httpdispatcher'); 
var dispatcher  = new HttpDispatcher(); 

編集:私はセットアップworking example on webpackbinをしました。コードはmain.jsにあります。出力はlogタブで表示できます。

+0

を取得していますあなたがTypeErrorを取得するたびに、使用しているTypeの一部ではないメソッド(関数)を呼び出そうとしていることが分かります。httpdispatcherのドキュメンテーション[here](https://www.npmjs。 com/package/httpdispatcher)では、setStaticとonGetを行う前に、httpdispatcher initのインスタンスが必要です。 –

+0

を取得しています問題ではしていないようでした、あなただけのためにそれをこのよう – Florent

+0

を行う必要があり、同じエラー –

関連する問題