ItsEvilTime
@ItsEvilTime
Сайленсер не дает мне покоя

Почему не подключается CSS?

При запуске кода идет бесконечная загрузка, не могу понять почему.

app.js:
var http = require('http'),
    url = require('url'),
    fs = require('fs');

http.createServer(function(req, res){

  if (req.url == '/') {
    fs.readFile('./index.html', function(err, info) {
      if (err) throw err;
      res.end(info);
    });
  }

}).listen(3000);


index.html:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <link rel="stylesheet" href="./style.css">
</head>
<body>
  <h1>Title</h1>
</body>
</html>


Все файлы в одной папке.
При удалении строки подключения стилей — html выводится нормально. Пишу строку заново — бесконечная загрузка.
В чем ошибка?
  • Вопрос задан
  • 1532 просмотра
Решения вопроса 1
ItsEvilTime
@ItsEvilTime Автор вопроса
Сайленсер не дает мне покоя
Реализация с помощью экспресса:
var app = express();
app.use(express.static(__dirname + '/dist/css'));
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
edli007
@edli007
full stack, team lead
Это логично, у вас именно так построен скрипт.

Смотрите, нода, в отличии от пхп, являетса одновременно и скриптом и веб сервером.
У вас написано

if (req.url == '/') {
....
res.end();
}

а вот на все остальные ссылки, res.end() нету, вот и идет бесконечная загрузка, так как нет команды завершить запрос.

css не отдает по тойже причине, у вас нет обработчика на сервере для ссылки на css файл.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы