node.js 怎么显示html,其中html中含有图片

服务端代码:

var express = require('express');
var fs = require('fs');
var http = require('http');
var app = express();
app.get('/',function (req,res) {
    if(req.url!=="/favicon.ico")
    res.writeHead(200,{"Content-Type":"text/html"});
    res.end(fs.readFileSync(__dirname + '/test2.html'));
});
app.listen(80,"192.168.1.200");

html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <img src="image/1.jpg">
</body>
</html>

浏览器打开192.168.1.200后
报错:GET http://192.168.1.200/image/1.jpg 404(Not Found)?

迷迷糊糊的初学者,还望路过大侠,指点迷津

阅读 10.8k
4 个回答

Express 提供了内置的中间件 express.static 来设置静态文件如:图片, CSS, JavaScript 等。
你可以使用 express.static 中间件来设置静态文件路径。例如,如果你将图片, CSS, JavaScript 文件放在 public 目录下,你可以这么写:
app.use(express.static('public'));
我们可以到 public/images 目录下放些图片,如下所示:
node_modules
server.js
public/
public/images
public/images/logo.png
让我们再修改下 "Hello Word" 应用添加处理静态文件的功能。
希望对你的问题有帮助。

var app = express();
//的下面的一行代码
app.use(express.static('public'));
//然后把图片,脚本,样式,模板放到static里面吧,刚刚的图片也放到里面,让后在img的图片地址改一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题