nodejs 静态资源访问

本文将深入探讨如何使用Node.js来处理和提供静态资源,如HTML、CSS和JavaScript文件。我们将讨论Express框架的使用,设置路由,以及优化静态文件的缓存策略,以提高Web应用的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

const http=require('http');//引入http模块
const url=require('url');//引入url模块
const path=require('path');//引入路径处理模块儿
const fs=require('fs');//引入处理文件的模块
const mime=require('mime');//引入mime模块

const app=http.createServer();//定义服务器
app.on('request',(req,res)=>{//监听客户端请求
    // 获取用户的请求路径
    let pathname=url.parse(req.url).pathname;
    pathname = pathname == '/' ? '/default.html' : pathname;
    // 将用户的请求路径转换为实际的服务器硬盘路径
    let realPath=path.join(__dirname,'public'+pathname);
    // //通过后缀名指定mime类型 获取对应的type类型
    let type=mime.getType(realPath);
    console.log(type)
    // res.end(realPath);
    // 读取文件
    fs.readFile(realPath,(error,result)=>{
        // 读取失败
        if(error!=null){
            // 向请求的客户端发送响应头。设置返回数据的格式以及编码格式
            res.writeHead(404,{
                'content-type':'text/html;charset=utf8'
            });
            res.end('文件读取失败!!!!!!!');
            return;
        }
        // 读取成功 
        res.writeHead(200,{
            'content-type':type+';charset=utf8'
        })
        res.end(result)
    })
    
})
// 监听3000端口
app.listen(3000);
console.log('服务器启动成功!!')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值