php readfile css,nodejs中css,js加载的问题,报错如图,用了fs.readFile就没事了,为啥?...

//加载静态文件,结果加载css,js的时候会报错

function static_server_file(file,res){

var rs = fs.createReadStream(file);

var contents;

console.log(content_type(file));

res.writeHead(200,{'Content-Type':content_type(file)});

rs.on('readable',function(){

var d = rs.read();

var str;

if(d){

if(typeof d == 'string'){

str = d;

}else if( typeof d == 'object' && d instanceof Buffer){

str = d.toString('utf-8');

}

}

if(str){

if(!contents){

contents = str;

}else{

contents += str;

}

}

//res.write(contents);

});

rs.on('end',function(){

//console.log(contents);

res.write(contents);

res.end();

});

rs.on('error',function(e){

res.writeHead(404,{'Content-Type':'appalication/json'});

var out = {

error:'not found',

message:file+'not found'

};

res.end(JSON.toString(out));

return;

})

}

//根据文件确定mine类型

function content_type(file){

var extname = path.extname(file);

var type;

switch(extname.toLowerCase()){

case '.html':

type = 'text/html';

break;

case '.js':

type = 'text/javascript';

break;

case '.css':

type = 'text/css';

break;

case '.jpg':

type = 'image/jpg';

break;

default:type = 'text/plain';

}

return type;

}

//这是修改后的版本,加载css,js的时候没有问题,这是为什么

function static_server_file(file,res){

fs.readFile(file,function(err,data){

if(err){

if(err && err.error == 'no_such_album'){

send_failure(res,404,err);

}else{

send_failure(res,500,err);

}

}

res.writeHead(200,{'Content-Type':content_type(file)});

res.write(data);

res.end();

});

}

![图片描述][1]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值