node.js引入外部资源,如:layui

先读取页面

//创建文件系统模块
const fs=require('fs');
//创建http服务模块
const http=require('http');
//创建地址模块
const url=require('url');
//创建服务
http.createServer(
    (req,res)=>{
        //得到请求地址
        let path=url.parse(req.url,true).pathname;
        console.log(path);
        if (path==='/'){
            res.setHeader('Content-Type','text/html;charset=utf-8');
            fs.readFile('./layui.html','utf-8',(error,data)=>{
                if (error) throw error;
                res.end(data);
            });
        }
    }
).listen(3001,()=>{
    console.log(new Date());
});

因为html引用了外部样式,该外部样式请求暂未处理,所以页面会一直呈现加载状态
在这里插入图片描述
这时会发现后台请求地址从 / 变成其他的地址
在这里插入图片描述这时需要我们在后台处理其他地址

//创建文件系统模块
const fs=require('fs');
//创建http服务模块
const http=require('http');
//创建地址模块
const url=require('url');
//创建服务
http.createServer(
    (req,res)=>{
        //得到请求地址
        let path=url.parse(req.url,true).pathname;
        console.log(path);
        if (path==='/'){
            res.setHeader('Content-Type','text/html;charset=utf-8');
            fs.readFile('./layui.html','utf-8',(error,data)=>{
                if (error) throw error;
                res.end(data);
            });
        }
        //我们在这里处理请求为/layui的资源
        else if(path.includes('/layui')){
            fs.readFile('./'+path,(error,data)=>{
                    res.end(data);
            });
        }
    }
).listen(3001,()=>{
    console.log(new Date());
});

此时页面上请求/layui下的资源成功
注:若需要统一处理外部资源,最方便的方法就是将所有资源统一放入一个文件夹下,这样一个if判断就能解决

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值