GET to CSS возвращает 404 - PullRequest
       1

GET to CSS возвращает 404

0 голосов
/ 08 февраля 2019

Итак, я недавно переместил свой сайт с одностраничного сайта на экспресс-сервер.Теперь я изменил пути к файлам, но не могу загрузить файлы css и js для загрузки.

Как видно из консоли разработчика, запрос GET для https://<website>.com/public/css/main.css возвращает 404.

Этоссылка на CSS: <link rel="stylesheet" type="text/css" href="../public/css/main.css">

Это мой сервер:

const express = require('express');
const app = express();
const getpages = require('./router/getpages.js');

app.use('/', getpages);

app.use(express.static('public'));

// 404's
app.use((req, res) => {
  res.status(404).send('Page not found or non-existant.<br><br><a href="/">Home</a>');
});

app.listen(3000, console.log('Running on port 3000'));

Это ./router/getpages.js:

const router = require('express').Router();
const path = require('path');

router.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, '../views/', 'index.html'));
})

module.exports = router;

Это структура файла:

file structure

Обратите внимание, я не мог найти другие вопросы, которые мне помогли, пока он снова не был отмечен как дурак.

1 Ответ

0 голосов
/ 08 февраля 2019

Как видно из документации, у вас не должно быть public в маршруте

https://<website>.com/css/main.css должно работать как положено.

см .: https://expressjs.com/en/starter/static-files.html

Например, используйте следующий код для обслуживания изображений, файлов CSS и файлов JavaScript в каталоге с именем public:

app.use(express.static('public'))

Теперь вы можете загружать файлыкоторые находятся в общедоступном каталоге:

например: http://localhost:3000/images/kitten.jpg

Express ищет файлы относительно статического каталога, поэтому имя статического каталога не является частью URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...