在本地启动express服务,使用官网描述的静态文件托管办法:
我的文件夹结构:
server.js是node启动的文件:const express = require('express'); const path = require('path'); const app = express(); app.use('/public',express.static(path.join(__dirname,'public'))); app.get('/',( req,res)=>{ res.send('启动成功') }) app.listen(3000)
在浏览器输入本地服务地址发现服务是启动成功的:
然后试一下读取静态文件:但是 – 结果:页面报 cannot Get
- 然后试下用get返回这个文件,发现居然就可以了!!!!!
- 具体只需要修改server.js:(看我添加的那两个get请求,把相应文件发送给请求方)
const express = require('express'); const path = require('path'); const app = express(); app.use('/public',express.static(path.join(__dirname,'public'))); app.get('/',( req,res)=>{ res.send('启动成功') }) app.get('/1.png',(req, res) => { res.sendFile(__dirname + '/public/1.png') }) app.get('/package.json',( req,res) => { res.sendFile(__dirname + '/package.json') }) app.get('/app.nw.zip',(req,res) => { res.sendFile(__dirname + '/app.nw.zip') }) app.listen(3000)
再次请求图片就能显示出来了:
⬆️ 我文件夹里放的图片:
注:本地如何启动express服务可以直接参考这里,很详细:
https://www.runoob.com/nodejs/nodejs-express-framework.html
使用express官网的静态文件托管却无法正常访问,还报个 cannot Get
最新推荐文章于 2024-08-22 13:46:52 发布
在尝试使用Express托管静态文件时遇到问题,本地启动的服务可以正常运行但无法加载静态资源,如图片。通过将静态文件通过get请求直接发送给客户端解决了问题。调整后的server.js文件包含了对图片、JSON文件和ZIP文件的get请求处理。
摘要由CSDN通过智能技术生成