要提供来自express 4.0公共文件夹的文件作为格式化的HTML,而不是基于扩展名的文件,可以按照以下步骤进行操作:
app.use(express.static('public'));
这将告诉Express将public文件夹中的文件作为静态文件提供。
const express = require('express');
const router = express.Router();
const fs = require('fs');
router.get('/formatted', (req, res) => {
// 读取JSON文件
const jsonData = fs.readFileSync('./public/json/data.json');
const formattedJson = JSON.stringify(JSON.parse(jsonData), null, 2);
// 读取图像文件
const imagePath = './public/images/image.jpg';
// 构建HTML响应
const htmlResponse = `
<html>
<head>
<title>Formatted HTML</title>
</head>
<body>
<h1>Formatted JSON:</h1>
<pre>${formattedJson}</pre>
<h1>Image:</h1>
<img src="${imagePath}" alt="Image">
</body>
</html>
`;
res.send(htmlResponse);
});
module.exports = router;
在上面的代码中,我们使用fs模块读取JSON文件并将其格式化为漂亮的JSON字符串。然后,我们将图像文件的路径插入到HTML响应中。
const indexRouter = require('./routes/index');
app.use('/', indexRouter);
这将将该路由应用于根路径。
现在,当你访问http://localhost:3000/formatted
时,你将获得一个包含格式化JSON和图像的HTML页面。
请注意,上述代码中的文件路径和文件名是示例,你需要根据你的实际文件路径和文件名进行相应的更改。
推荐的腾讯云相关产品:腾讯云对象存储(COS)用于存储和管理静态文件,腾讯云云服务器(CVM)用于托管Express应用程序。
领取专属 10元无门槛券
手把手带您无忧上云