Итак, я новичок в node и пытаюсь узнать, как с ним использовать библиотеку express
. Однако проблема, которую я пытаюсь понять, - это то, почему файлы в моей папке /public
, похоже, не являются статическим контентом.
Здесь мой код:
var http = require('http');
var port = process.env.port || 1337;
var express = require('express');
var handlebars = require('express3-handlebars');
var path = require('path');
var application = express();
application.use(express.static(path.join(__dirname, 'public')));
application.engine('handlebars', handlebars({ defaultLayout: 'main' }));
application.get('/', function(req, res){
res.render('index.handlebars', { someProp: 3 });
});
application.listen(port);
И моя структура каталогов:
/
- server.js (the above referenced file)
/ Views
- index.handlebars
/ Layouts
- main.handlebars
/ public
- ServeMe.txt
Я понял, что application.use(express.static(path.join(__dirname, 'public')));
должен был настроить сервер для ответа на любой запрос в общей папке с этим ресурсом, если он найден. Что я делаю не так? Как ни странно, было проще настроить дескрипторы в качестве механизма просмотра, чем заставить эту общую папку работать = D
EDIT: полный URL-адрес, который я пытаюсь запросить:
http://localhost:1337/public/serveme.txt
Я пробовал чувствительность к регистру (это должно быть не проблема), и это тоже не сработало.