1.概述
上一篇中我们实现了客户端的路由请求,包括直接使用js返回内容响应和使用html文件响应,但上一篇中最后的显示结果只是一个很普通的html文件,不能使用css样式和js文件,今天我们就通过设置响应文件的mime类型来实现不同文件的响应。
文章会先介绍什么是mime类型,然后介绍两种设置mime类型的方法,第一种是通过后缀名判断文件类型,从而进行响应;第二种是使用第三方mime模块进行响应。
示例是在上一篇的基础上扩展的。
2.mime类型简介
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。(百度百科)
简单点说,mime是一个互联网标准,通过设定它就可以设定文件在浏览器的打开方式。(有兴趣的话,可以试一下用css打开方式打开html文件,更助于理解)
3.两种设定mime类型方法
1.直接提取文件后缀名设定mime类型
代码是基于上一篇的代码,只改动了Response这一个函数,如下:
//函数Response,将HTML、css、js等文件响应给客户端
var Response = function(res,filePath){
//读取文件,读取完成后给客户端响应
fs.readFile(filePath,function(err,data){
if(err){ //如果失败