изображението в .ejs не се показва при използване на WebStorm

Използвам Webstorm, за да създам страница и не мога да накарам изображения да се показват при изобразяване на .ejs. Ето моят код:

test.js

http = require('http')
express = require('express')
app = express()
app.engine('.ejs', require('ejs').__express)

var port = process.env.PORT ? process.env.PORT : 3000
http.createServer(app).listen(port, null, null, function(){
    console.log('Listening to port ' + port)
})

app.get('/test', function(req, res){
    res.render('test.ejs')
})

test.ejs

Забележка: Когато отворя точно същия код с Google Chrome, изображението се изобразява перфектно. Когато се опитам да използвам http://localhost:3000/test, получавам обща икона на изображение.

<div>
  <p style="font-size: 40px; font-style: oblique;">My Page</p>
  <form action="/next" method="post">
    <img src="../images/test.png" >
    <p>Preço: R$ 100,00</p>
    <input name="next" id="next" type="submit" value="next">
  </form>
</div>

Възможно ли е това да има нещо общо с разрешенията? Промених разрешението за моята папка /images и файла test.png с помощта на:

sudo chmod 0755 /images
sudo chmod 0644 test.png

но пак не проработи. Благодаря!


person Thiago Loddi    schedule 01.06.2015    source източник


Отговори (1)


Когато използвате следната структура на проекта:

app.js
public
      --
        images
        test.ejs
                --
                  test.png

Успях да го накарам да работи, като използвах следния код:

http = require('http')
express = require('express')
app = express()
app.engine('.ejs', require('ejs').__express)
app.set('views', __dirname + '/public')
app.set('view engine', 'ejs')
var port = process.env.PORT ? process.env.PORT : 3000
http.createServer(app).listen(port, null, null, function(){
    console.log('Listening to port ' + port)
})

app.get('/test', function(req, res){
    res.render('test.ejs')
})
app.use(express.static(__dirname + '/public'))

.ejs:

<div>
    <p style="font-size: 40px; font-style: oblique;">My Page</p>
    <form action="/next" method="post">
        <img src="images/test.png" >
        <p>Pre?o: R$ 100,00</p>
        <input name="next" id="next" type="submit" value="next">
    </form>
</div>
person lena    schedule 01.06.2015