У меня есть приложение nodejs и я использую expressjs. Я определил свой статический каталог, но когда я его открываю, он не загружается. Мой экспресс-конфигурации является:Expressjs не распознает статические файлы
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');
});
Внутри моего /public
каталог У меня есть 3 папки, CSS, JS, и IMG. Внутри css у меня есть style.css. Когда я пытаюсь получить к нему доступ напрямую через http://localhost:8001/public/css/style.css, я получаю: Cannot GET /public/css/style.css
Любые идеи, что я могу делать неправильно?
Спасибо!
EDIT:
Это, кажется, связано с тем, как у меня есть мои настройки маршрутов. Я делаю это так:
var routes = require('./routes')(db);
pp.get('/', routes.index);
Тогда в моем index.js
файл, у меня есть:
module.exports = function(db) {
return {
index: function(req, res, next) {
res.render('index');
}
}
}
У меня включена моя обработка ошибок, но когда я использую маршрут таким образом, это Безразлично 't use выражает обработку ошибок, однако, если я это сделаю, это так.
Да, это не работает. – dzm
Извините, забыли о вложенной папке. Ответ обновлен. –
статический обработчик пересекает подкаталоги. –