1

express3でファイルをルーティングしようとしていますが、問題が発生します。
だからここにファイルをルーティングするためのコードがあります-

var app = require('express')(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);

server.listen(8080);

// routing
app.get('/', function (req, res) {
    res.sendfile("index/index.html");
    app.use(app.static(__dirname + 'index'));
});

Chromeで開くlocalhost:8080と、エラーが発生します:

TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'static'

私が間違ったことは何ですか?

私のHTML/CSS/JSファイルはすべてインデックスディレクトリにあります。

4

1 に答える 1

1

staticはexpressからの静的関数であり、expressによって作成されたインスタンスオブジェクトからはアクセスできません。必要なエクスプレスを別の変数に割り当てる必要があります。

var express = require('express'),
    app = = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

server.listen(8080);

// routing
app.get('/', function (req, res) {
    res.sendfile("index/index.html");
    app.use(express.static(__dirname + 'index'));
});
于 2013-02-20T09:07:41.273 に答える