Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Подключение CSS в ответе сервера. Node Javascript

WOODSTYLE Ученик (165), на голосовании 1 год назад
Добрый день.

Я когда я включаю сервер, то на клиент передается только HTML файл. Хотя ссылки на CSS есть в HTML, но сервер как бы их блокирует, равно как и скрипты.

Как сделать так, чтобы сервер отправлял на клиент все файлы, которые мне нужно без их досканального перечисления в response? Ведь это же нужно будет и каждую картинку прописывать.....

Вот код сервера:

"import http from "http";
import fs from "fs"
http.createServer(function(request,response){ response.writeHead(200,{'Content-Type':'text/html'}) response.end(fs.readFileSync("./index.html",function(){}))} ).listen(5500)"
 И еще вопрос: при запуске сервера при переходе по любой ссылке, расположенной на index.html, сервер в ответах клиенту добавляет "лишний путь", к примеру: localhost:5500/work/work.html, localhost:5500/work/WORK/work.html. и т.д. Как этого избежать? 
Голосование за лучший ответ
Евгений Корнев Мастер (1209) 1 год назад
Можно использовать это:
 app.get("/assets/*", (req, res) => { 
const file = path.join(__dirname, "assets", req.params[0]);
res.sendFile(file);
});
Для решения проблемы "лишних путей" можно использовать: (Express.js)
 const express = require("express"); 
const app = express();

app.get("/work", (req, res) => {
res.sendFile(path.join(__dirname, "work.html"));
});

app.get("/", (req, res) => {
res.sendFile(path.join(__dirname, "index.html"));
});

app.listen(5500, () => {
console.log("Server is listening on port 5500");
});
Похожие вопросы