我有一个node.js服务器,代码如下:
var http = require('http'),
fs = require('fs'),
index = fs.readFileSync(__dirname + '/index.html');
var app = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(index);
});
app.listen(80);
当我在index.html中使用标签时,不会显示任何图片:
<html>
<body>
<img src="settings.gif" />
</body>
</html>
该图像与server.js文件和index.html
位于同一目录中编辑:如果我使用其他网站的完整网址,则会显示图片。例如:
<img src="http://yellowicons.com/wp-content/uploads/Gear-Icon-2.png" />
答案 0 :(得分:0)
尝试使用绝对路径。如果失败,请将映像文件保留在public/images
目录中。并使用此地址:
<img src="http://localhost:3000/images/Heading.png" />
答案 1 :(得分:0)
我猜您的服务器不知道您的图片在哪里,我不知道您的代码指定的位置。我建议你使用带有express的nodejs来处理你所有的路由,只需google它并有大量的例子。 祝你好运
答案 2 :(得分:0)
也许您可能决定在下面单独创建一个 public / images 目录,然后将settings.gif以及任何其他图像复制到可公开查看的图像目录中。
接下来,您需要将这两行添加到node.js中,以使节点知道公共目录的静态引用所在的地方
var publicDir = require('path').join(__dirname,'/public');
app.use(express.static(publicDir));
之后,图像可以在html中标记为
<html>
<body>
<img src="images/settings.gif" />
</body>
</html>