Атрибут href в ссылке таблицы стилей не работает в узле - PullRequest
1 голос
/ 28 марта 2019

Я попытался запустить мой сайт 2 способами.1) Используя узел
2) Без использования узла (просто index.html на моем компьютере). Однако результаты в отношении связывания таблиц стилей различны.Без узла таблица стилей в теге style может быть связана как обычно.Однако, при использовании узла в качестве сервера, таблица стилей не может быть связана.

Вот структура моего кода.

/app
  /server.js
  /views
    /statics
        /index.html
    /partials
  /public
    /javascript
    /css
        /main.css
    /images

вот тег index.html head

<link rel="stylesheet" type="text/css" media="screen" href="../../public/css/main.css">

server.js

const express = require('express')
const app = express()
const path = require('path')
// no need to use app.use(app.router) because of that update
// function signature express.static(root, [options])

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

// mount root to views/statics
app.use('/', express.static('views/statics'));

const PORT = process.env.PORT || 3000;

app.listen(PORT,() => {
    console.log(`Server is listening on port ${PORT}`)
  });

Ответы [ 2 ]

2 голосов
/ 28 марта 2019

Сделать каталог Public доступным, указав его как каталог ресурсов.На вашем сервере добавьте следующий код:

app.use('/assets', express.static(__dirname+'/views/public'));

Тогда к статическим файлам можно получить доступ как:

<link rel="stylesheet" type="text/css" media="screen" href="/assets/css/main.css">
1 голос
/ 28 марта 2019

Похоже, что вы не указали путь, по которому ваши активы должны быть доступны с помощью

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

. В соответствии с документами в этом случае подпапки из общей папки получатобслужен из корневого пути.

Как правило, следует избегать обслуживания ресурсов по относительному пути.В вашем случае href="/css/main.css" должно работать.Узел действует как сервер, и вы определяете пути, по которым данные ресурсы доступны в server.js.Вы не можете получить к ним доступ по пути структуры каталогов вашей файловой системы

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