background-image: url () не работает, когда вы открываете html с помощью экспресс-приложения - PullRequest
0 голосов
/ 13 июня 2019

Когда я открываю html-файл, нажимая на него, он работает background-image: url (), но когда я открываю этот файл внутри expressapp с помощью res.sendFile (), он не работает. Остальная часть CSSКод работает как обычно в обоих случаях, и HTML-код тоже работает.В заключение, все, кроме фонового изображения, работает отлично, поэтому я не думаю, что проблема связана с остальным кодом или приложением, и я думаю, что просто фоновое изображение не работает в экспресс-приложении, поэтому я быхотел бы знать, есть ли решение для этого, как другой способ избежать этой проблемы, или, может быть, я на самом деле делаю что-то неправильно для этого.Я попытался добавить изображение в файл ejs, который я использую в приложении, но он тоже не работает, только остальная часть кода CSS.

Я не знаю, смогу ли я добавить изображения в вопрос, потому что яЯ хотел добавить фотографию, чтобы показать папку приложения Express и путь к изображению, поэтому я должен сказать, что файл home.html и файл app.js находятся внутри папки приложения Express, а изображение - внутри этого экспресса.приложение, но, как обычно, в пути "/ public / images" (из папки приложения Express), который создается в приложении Express.

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

//home.html
//This is only the head of the html file
// the only important is the background-image: url(), that does not work 
//in express.
<head>
    <style>
        body {
            text-align: center;
            background-image: url("./public/images/aghhome.jpg");
            background-color: white;
            background-repeat: no-repeat;
            font-family: "Times New Roman", Times, serif;
        }
        h1 {
            font-size: 50px;
            border-style: solid;
            background-color: black;
            color: white;
        }
        button {
            font-size: 50px;
        }
    </style>
</head>


//app.js
// the main js file of the express app
// this a part of the code where I open this file by sendFile()

app.get('/',function(req,res){
  res.sendFile(path.join(__dirname+'/home.html'));
});

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

Ответы [ 2 ]

1 голос
/ 13 июня 2019

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

background-image: url("/public/images/aghhome.jpg");
0 голосов
/ 13 июня 2019

Вы можете попробовать:

//home.html
//This is only the head of the html file
// the only important is the background-image: url(), that does not work 
//in express.
<head>
    <style>
        body {
            text-align: center;
            background-image: url("./images/aghhome.jpg");
            background-color: white;
            background-repeat: no-repeat;
            font-family: "Times New Roman", Times, serif;
        }
        h1 {
            font-size: 50px;
            border-style: solid;
            background-color: black;
            color: white;
        }
        button {
            font-size: 50px;
        }
    </style>
</head>


//app.js
// the main js file of the express app
// this a part of the code where I open this file by sendFile()

app.get('/',function(req,res){
  res.sendFile(path.join(__dirname+'/home.html'));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...