#javascript #html #css #node.js #express
#javascript #HTML #css #node.js #экспресс
Вопрос:
Я пытаюсь установить свои css-файлы как общедоступные, чтобы мой сервер мог их распознавать, я использую правильную функцию и помещаю свой css-файл в нужную папку (общедоступную), я связал файл в своих файлах ejs с правильным каталогом, но по какой-то причине мой сервер все ещене находит файл. Я думаю, что он не распознает файл, потому что direcotry, который я ввожу, неверен.
Вот мой html-код:
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%= title %></title>
<link rel="stylesheet" href="/15th_Lesson/public/styles.css" />
(код является частичным, поскольку все мои html-файлы имеют одинаковый заголовок, и в этом паарте есть ссылка, поэтому я помещаю только ее здесь)
Вот мой js-код:
const express = require('express');
const app = express();
app.use(express.static(__dirname '/public'));
app.listen(3000);
app.set('view engine', 'ejs');
( app.use(express.static(__dirname '/public'));
я устал использовать just app.use(express.static('public'));
, но это все равно не сработало)
Вот все файлы внутри файла 15th_lesson (где находится мой проект):
И вот как выглядит моя вкладка network в borwser:
Вот мой css-код (очень простой): body{background-color: black;}
Я прошу прощения, если что-то неясно, я с удовольствием устраню любую путаницу в комментариях.
Комментарии:
1. Ссылка
/15th_Lesson/public/styles.css
должна быть относительно общедоступного каталога, поэтому больше похоже на это/styles.css
Вы можете протестировать его, просто введя этот URL-адрес в своем браузереlocalhost:3000/styles.css
2. Большое вам спасибо за ответ. Это работает, я просто задумался о том, почему он может распознавать файл css, даже если он находится внутри 2 разных папок. Если у вас есть время и терпение, чтобы ответить, мы будем высоко признательны за ответ. Я также приношу извинения за то, что был назойливым и не попробовал это сделать, когда я работал над этим.
3. Я могу объяснить, express.static будет искать ваш файл recursivelly. app.use(‘/ endpoint’, express.static(path.join(__dirname, ‘yourDirectory’))); вернет все файлы внутри папки yourDirectory, и они будут видны через запрос getили просто перейдите к example.com/endpoint/yourDirectory
Ответ №1:
Попробуйте это в вашем файле .ejs:
<link rel="stylesheet" href="/styles.css">