#javascript #node.js #express
#javascript #node.js #экспресс
Вопрос:
Я новичок в express, js и node.js
Я следил за множеством руководств по express, и я не понимаю, почему index.html file не вызывайте соответствующий файл CSS:
мой server.js файл:
const path = require('path')
const express = require('express');
var app = express();
app.use(express.static('public'));
app.get('/0', (req, res) => {
res.sendFile('index.html', {root : __dirname });
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
мой index.html файл:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="/public/css/style.css">
<title>Pt02 Ch02 Exercise 200</title>
</head>
<body>
<div class="container">
<div class="heading">Aidez-moi à arrêter de crier !</div>
<div class="heading">Je veux rester en majuscules !</div>
</div>
</body>
мой файл CSS:
@import url('https://fonts.googleapis.com/css?family=Montserrat:100,900i');
html, body {
font-family: 'Montserrat', sans-serif;
height: 100%;
margin: 0;
padding: 0;
box-sizing: border-box;
background-color: blue;
}
.container {
height: 100%;
align-items: center;
}
.heading {
width: 100%;
padding: 1.5rem 2.5rem;
margin-bottom: 1.5rem;
background: #15DEA5;
color: #FFF;
font-size: 2rem;
text-transform: uppercase;
}
и разные папки проекта:
когда я печатаю localhost:8081/0
, результат не является правильным результатом, CSS не активен.
Что я делаю не так? спасибо за помощь
Комментарии:
1. Это
public css
имя папки выглядит странно, если это не имя VSCode, но попробуйте<link rel="stylesheet" href="/css/style.css">
вместо этого
Ответ №1:
express.static привязывает public
папку к корню сайта ( /
), поэтому после этого вам нужно включить статические файлы без public
указания пути:
<link rel="stylesheet" href="/css/style.css">
Ответ №2:
Вы уверены, что ваш CSS находится в разделе public/ css? и не public css Я не эксперт, но я думаю, что это должно быть проблемой. Папка проекта называется publiccss, а ваша таблица стилей rel подключена к public/css .
РЕДАКТИРОВАТЬ Пользователь выше сказал правильный ответ, я думаю, статические папки не должны быть перечислены в html