J'essaie de suivre les instructions pour https://stackoverflow.com/a/18633827/2063561 , mais je ne parviens toujours pas à charger mon styles.css.
De app.js
app.use(express.static(path.join(__dirname, 'public')));
Dans mes .ejs, j’ai essayé ces deux lignes
<link rel="stylesheet" type="text/css" href="/css/style.css" />
<link rel="stylesheet" type="text/css" href="/public/css/style.css" />
Ni charge le css. Je suis allé dans la console du développeur, remarquant que le type est défini sur 'text/html' au lieu de 'text/css'.
Mon chemin ressemble à
.
./app.js
./public
/css
/style.css
Utilisez ceci dans votre fichier server.js
app.use(express.static(__dirname + '/public'));
et ajouter des css comme
<link rel="stylesheet" type="text/css" href="css/style.css" />
ne pas besoin/avant css comme
<link rel="stylesheet" type="text/css" href="/css/style.css" />
J'ai utilisé les étapes suivantes pour résoudre ce problème
utiliser dans votre fichier principal .js
app.use('/css',express.static(__dirname +'/css'));
utiliser dans votre fichier principal .html
<link rel="stylesheet" type="text/css" href="css/style.css" />
La raison pour laquelle vous obtenez une erreur parce que vous utilisez une virgule au lieu d'un concat + après __dirname.
C'est simple si vous utilisez express.static(__dirname + 'public')
, n'oubliez pas de mettre une barre oblique devant public qui est express.static(__dirname + '/public')
ou utilisez express.static('public')
, cela fonctionnera également; et ne changez rien dans les liens CSS.