Использование Express / E JS для обслуживания изображений. Значок изображения отображается, но не изображения - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь показать изображения из набора жестко закодированных данных. Имя и изображение, а затем назовите его с JS на странице проектов. Имя работает, но изображения не будут отображаться. Только место для значка.

**INDEX** 
var express = require('express');
var router = express.Router();
var app = express();
var projects = 

app.use('./views/projects', projects);

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('landing', { title: 'Iron Eagle' });
});

// Get Projects Info for Database
router.get('/projects', function(req, res){
    var projects = [
        {name: 'Placeholder', image:'root/public/assets/testing.jpg'},
        {name: 'Placeholder', image:'https://www.pexels.com/photo/sand-earth-building-construction-95687'},
        {name: 'Placeholder', image:'https://www.pexels.com/photo/sand-earth-building-construction-95687'}      
    ]
    res.render('projects', {projects:projects});
});

module.exports = router;
// module.exports = projects;


**PROJECTS**
<h1>
    This is the projects page
</h1>

<% projects.forEach(function(projects){ %>
    <div>
        <h4>
            <%= projects.name %>
        </h4>
        <img src="<%= projects.image %>">
    </div>

<% }); %>

1 Ответ

0 голосов
/ 17 января 2020

Ваши URL-адреса изображений Pexels не ссылаются на файл изображения, а на веб-страницу.

Возможно, вместо этого попробуйте этот URL: https://images.pexels.com/photos/95687/pexels-photo-95687.jpeg

Кроме того, для вашего тестового изображения вам нужно будет сообщить express ваши данные c из вашего каталога publi c:

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

... затем обновите ваш URL-адрес:

var projects = [
  { name: 'Placeholder', image:'/assets/testing.jpg' },
  // ...
]

Больше информации здесь: https://expressjs.com/en/starter/static-files.html

Надеюсь, это поможет.

...