Ich habe eine Nodejs App und verwende Expressjs. Ich habe mein statisches Verzeichnis definiert, aber wenn ich darauf zugreife, wird es nicht geladen. Mein Express-config:Expressjs nicht statische Dateien erkennen
var app = express.createServer().listen(8001);
app.configure(function(){
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(app.router);
app.use('/public', express.static(__dirname + '/public'));
app.use(express.cookieParser());
app.use(express.session({ secret: "appsession" }));
app.use(express.errorHandler({showStack: true, dumpExceptions: true}));
app.set('views', __dirname + '/views');
app.set('view engine', 'hbs');
});
Inside my /public
Verzeichnis Ich habe 3 Ordner, css, js und img. In CSS habe ich eine style.css. Wenn ich versuche, direkt über http://localhost:8001/public/css/style.css darauf zuzugreifen, bekomme ich: Cannot GET /public/css/style.css
Irgendwelche Ideen, was ich falsch machen könnte?
Danke!
EDIT:
Es scheint verwandt zu sein, wie ich meine Routen eingerichtet haben. Ich mache es so:
var routes = require('./routes')(db);
pp.get('/', routes.index);
Dann in meiner index.js
Datei, die ich habe:
module.exports = function(db) {
return {
index: function(req, res, next) {
res.render('index');
}
}
}
ich meine Fehlerbehandlung aktiviert ist, aber wenn ich das Routing auf diese Weise verwenden, es doesn Verwenden Sie keine Fehlerbehandlung, aber wenn ich das herausnehme, tut es das.
Yeah versuchte das, funktioniert auch nicht. – dzm
Sorry, habe die verschachtelte Verzeichnis-Sache vergessen. Antwort aktualisiert –
statische Handler durchläuft Unterverzeichnisse. –