前提条件
- nodeJs
太简单了,我直接上代码加注释吧
import { createReadStream } from 'fs'
import { createServer } from 'http'
const server = createServer(async (req, res) => {
// # 获取请求的url
const url = req.url
// # 识别是否访问了静态资源目录里的文件
if (url?.includes('/public') && url !== '/public') {
// # 设置响应头跨域
res.setHeader('Access-Control-Allow-Origin', "*")
// # 设置文件是打开查看,还是弹窗下载,自行查看mdn
res.setHeader("Content-Disposition", "attachment;filename=$fname")
// # 以流的形式读取文件(感觉这样加载比readfile快一点)
const stream = createReadStream(`.${url}`)
stream.pipe(res)
return
}
// # 其它请求
res.end('123123123')
})
server.listen(3000, () => console.log('服务打开'))