Экспресс-статический каталог не работает с CSS-путем - PullRequest
0 голосов
/ 13 мая 2019

У меня есть это в моем app.js

app.use(express.static(path.join(__dirname, '../public')));

.. а это моя главная страница макета

<link rel="stylesheet" href="/css/styles.css">

Я перепробовал практически все возможные комбинации, но не могу подключить таблицу стилей.

Вы можете просмотреть репо здесь, чтобы понять иерархию файлов - https://github.com/NolWag/Shopify-eCommerce-App

enter image description here

Я не могу понять, чего мне не хватает, любая помощь очень ценится.

1 Ответ

0 голосов
/ 13 мая 2019

Пожалуйста, используйте
app.use(express.static(path.join(__dirname, './public')));
вместо
app.use(express.static(path.join(__dirname, '../public')));

Конечно, есть некоторые проблемы в работе со статическими файлами
Как я могу включить CSS-файлы, используя node, express и ejs?
Но из вашего проекта проблем нет


Интересная история: ПОЧЕМУ Мы не можем найти ../public неверный путь.

Screen

С помощью Chrome Inspect мы можем подумать, что есть какая-то ошибка типа MIME.


???: Хотя для express.static нет файлов, экспресс отправляет сообщение как

<code><!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Error</title>
    </head>
    <body>
        <pre>Cannot GET /css/styles.css

вместо 404 .


=> Итак, мы запутались, и мы не можем обнаружить, что нет styles.css.


Мы можем отладить с http://localhost:3000/css/styles.css, тогда мы можем найти Cannot GET /css/styles.css. Таким образом, мы можем найти ../public неверно и исправить с помощью ./public.

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