2014-06-20 34 views
7

gdy zgłoszę to node.js złożyćnodejs połączyć wykorzystanie wbudowanych modułów -> nie sposób znaleźć

var connect = require('connect'); 
var app = connect(); 
app.use(connect.static('public')); 
app.listen(3000); 

I od razu dostać

app.use(connect.static('public')); 
        ^
TypeError: Object function createServer() { 
    function app(req, res, next){ app.handle(req, res, next); } 
    merge(app, proto); 
    merge(app, EventEmitter.prototype); 
    app.route = '/'; 
    app.stack = []; 
    return app; 
} has no method 'static' 

Korzystanie Połącz 3.0.1, są tam zmienia ze zintegrowanymi modułami? Jeśli tak, jak to działa?

Odpowiedz

13

Duże zmiany nadchodzące z połączeniem 3: moduły oprogramowania pośredniego nie są już zawarte. Znajdź je pod numerem github.com/expressjs. "static" jest teraz "serve-static". To musi być zainstalowane oddzielnie:

npm install serve-static

Powyższy kod powinien wyglądać tak:

var connect = require('connect'); 
var serveStatic = require('serve-static'); 
var app = connect(); 
app.use(serveStatic('public')); 
app.listen(3000); 
+2

to powinno być w dokumentacji ... smutne jest to, że nie jest to przypadek :( – alexserver

+0

Wow, że na pewno jest wykrywalny ... –

+0

został dodany teraz, przynajmniej tutaj: http://github.com/senchalabs/connect/blob/master/Readme.md – ohoservices

1

musiałem zainstalować połączyć i służyć-static

npm install connect 

następnie wpisz:

npm install serve-static 

Poniższy kod daje piękny komunikat informujący, czy serwer jest podłączony do portu 3000.

var connect = require('connect'); 
var serveStatic = require('serve-static'); 
var app = connect(); 
var port = 3000; 
app.use(serveStatic(__dirname)); 
app.listen(port); 
console.log('You are connected at port '+port);