Nodo de aprendizaje: la carpeta Express Public no funciona
Así que soy nuevo en el nodo e intento aprender a usar elexpress
biblioteca con ella. Sin embargo, el problema que estoy tratando de resolver es por qué los archivos en mi/public
La carpeta no parece servirse como contenido estático.
Aquí está mi código:
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);
Y mi estructura de directorios:
/
- server.js (the above referenced file)
/ Views
- index.handlebars
/ Layouts
- main.handlebars
/ public
- ServeMe.txt
Mi entendimiento fue queapplication.use(express.static(path.join(__dirname, 'public')));
se suponía que debía configurar el servidor para responder a cualquier solicitud en la carpeta pública con ese recurso si se encontraba. ¿Qué estoy haciendo mal? Curiosamente, fue más fácil configurar los manillares como motor de visualización que hacer que esta carpeta pública funcionara = D
EDITAR: La URL completa que estoy tratando de solicitar:http://localhost:1337/public/serveme.txt
He intentado la distinción entre mayúsculas y minúsculas (que no debería ser un problema), y eso tampoco funcionó.