node.js - files - load css express
No se puede conseguir que la hoja de estilo funcione con ejs para node.js (2)
Declara un directorio estático:
app.use(express.static(__dirname + ''/public''));
<link rel=''stylesheet'' href=''/style.css'' />
Estoy tratando de hacer un servidor simple con nodo, express y ejs para la plantilla. He conseguido que el servidor señale la página, la cargue e incluso puedo generar otros bits de código con la declaración de inclusión. Sin embargo, por alguna razón, la hoja de estilo no se cargará.
app.js
var express = require(''express''),
app = express(),
http = require(''http''),
server = http.createServer(app),
fs = require(''fs'');
var PORT = 8080;
app.set(''view engine'', ''ejs'');
app.get(''/'', function(req, res){
res.render(''board.ejs'', {
title: "anything I want",
taco: "hello world",
something: "foo bar",
layout: false
});
});
app.listen(PORT);
console.log("Server working");
El archivo ejs está en un directorio views / board.ejs
<html>
<head>
<title><%= title %></title>
<link rel=''stylesheet'' href=''../styles/style.css'' />
</head>
<body >
<h1> <%= taco %> </h1>
<p> <%= something %> </p>
</body>
</html>
y style.css está en un directorio styles / style.css relativo a app.js
p {
color:red;
}
He intentado todos los caminos que puedo concebir para la href del enlace, incluso en relación con los puntos de mi host local en relación con app.js en relación con board.ejs e incluso solo style.css, pero ninguno parece funcionar. Cualquier sugerencia es bienvenida.
en app.js:
you must first declare static directory
app.use("/styles",express.static(__dirname + "/styles"));
en el archivo ejs:
<link rel=''stylesheet'' href=''/styles/style.css'' />