Экспресс не загружает изображение с абсолютным путем - PullRequest
0 голосов
/ 10 марта 2019

Я создаю приложение NodeJS, и у меня есть элемент div с фоновым изображением, установленным во внешнем файле CSS.Сам файл CSS работает абсолютно нормально, никаких проблем нет.Кроме того, когда я загружаю HTML без узла, фоновое изображение отображается очень хорошо.

CSS:

#schoolInfo {
  display: block;
  background-image: url('slide1pic.jpg');
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  background-size: cover;
}

app.js:

var express = require('express');
var app = express();
var serv = require('http').Server(app);
var io = require('socket.io')(serv);
var path = require('path');

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

app.use(express.static('client/home'));

app.post('/createSchool', function(req, res) {

  app.use(express.static('client/school'));
  res.sendFile(path.join(__dirname, '/client/school/index.html'));

  io.emit('updateSchool', response);
});

serv.listen(3000);
console.log("Server started on localhost://3000");

Как естьОчевидно, я использую абсолютный URL, поэтому я не знаю, почему Express не может его найти.Я не получаю ошибок в командной строке (откуда я запускаю сервер) или в консоли браузера.

Нужно ли что-то добавить в мой app.js?Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 10 марта 2019

Вам не хватает вашего маршрута из URL, по которому вы отправляете свои файлы:

app.use('/', express.static('client/home'));

Путь '/' является относительным от того, где вы запускаете процесс вашего узла.

Если у вас есть файл index.html внутри вашего каталога home , тогда у вас может быть папка images , и ваш express.static () будет выглядеть так:

app.use('/images', express.static('client/home'));

И в вашем html файле все, что вам нужно, это поместить:

<img src="images/file.png" />

Тогда вам просто нужно запустить процесс узла по адресу:

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