Linux PeppermintThreeを実行しているネットブックにNodeJS(v0.10.0)をインストールしました。実行するファイルがあり、上部に次のファイルがあります。
var app = require('express').createServer(),
io = require('socket.io').listen(app);
app.listen(8080);
// routing
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
問題は、私が訪問したときにlocalhost:8080
次のようになることです。
TypeError: Arguments to path.join must be strings
at path.js:360:15
at Array.filter (native)
at exports.join (path.js:358:36)
at exports.send (/home/guy/Dropbox/Node/socket_io echo test/node_modules/express/node_modules/connect/lib/middleware/static.js:129:20)
at ServerResponse.res.sendfile (/home/guy/Dropbox/Node/socket_io echo test/node_modules/express/lib/response.js:186:3)
at usernames (/home/guy/Dropbox/Node/socket_io echo test/med.js:11:7)
at callbacks (/home/guy/Dropbox/Node/socket_io echo test/node_modules/express/lib/router/index.js:272:11)
at param (/home/guy/Dropbox/Node/socket_io echo test/node_modules/express/lib/router/index.js:246:11)
at pass (/home/guy/Dropbox/Node/socket_io echo test/node_modules/express/lib/router/index.js:253:5)
at Router._dispatch (/home/guy/Dropbox/Node/socket_io echo test/node_modules/express/lib/router/index.js:280:5)
まったく同じファイルがWindowsXPラップトップで機能しますが、まだノードを更新していません(v0.8.15を実行しています)。ですから、問題なのはLinuxへのNodeのインストールなのか(私は初めてです)、バージョン間の違いなのかはわかりません。明らかに、同じ問題が発生する場合は、WindowsでNodeを更新したくありません。
Expressが本来あるべき場所にあることを確認しましたが、問題ないようです。npm経由で再インストールしてみました。私は(上記の最初の行を検索して)エラーを調べたところ、こことこことここに言及が見つかりました。すべてが解決したと言っているようです。
シンプルなページサーバーを機能させるために他に何ができるか(もしあれば)何かアイデアはありますか?