我在/ public文件夹中有图像,我想要显示它们......就像这样:<img src="a.jpg">
我的app.js代码
var express = require('express')
, app = express()
, http = require('http')
, server = http.createServer(app)
, io = require('socket.io').listen(server);
server.listen(8080);
app.use('/public', express.static(__dirname + "/public"));
如果我在localhost中打开它,则此错误仍在显示
NetworkError: 404 Not Found - http://localhost:8080/public/a.jpg"
答案 0 :(得分:1)
处理express中的静态文件
您只需将保存静态资产的目录名称传递给express.static中间件即可直接开始提供文件。
例如,如果将组件保存在名为public的文件夹中,则可以使用
app.use(express.static('public'))
如下,我的图片位于public\images
var express = require('express');
var app = express();
app.use(express.static('public'));
app.get('/', function (req, res) {
res.send('Hello World');
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
将上面的代码保存到server.js
$ node server.js
现在在任何浏览器中打开http://127.0.0.1:8081/images/logo.png,图片都会显示
答案 1 :(得分:0)
您需要将网址中的/ public /位放到图片上
所以它变成了http://localhost:8080/a.jpg
答案 2 :(得分:0)
在您的情况下,只需编写:
app.use(express.static('public'));
它将直接提供公用文件夹。
此路径/public/images/somePhoto.png
中的图像将显示为:http://localhost:8080/images/somePhoto.png