第二天学习后端——mime模块、对前面代码的再一次优化

149 阅读1分钟

mime模块

前面我们使用的所有模块都是核心模块,不需要下载。但现在我们要学习mime模块,它是一个第三方模块,需要我们自己下载。

导入mime模块var mime=require("mime")

使用mime模块查询文件的MIME类型var type=mime.getType(path) mime.getType可以通过路径返回资源类型。

查询文件扩展名mime.getExtension(mime类型)

mime类型:例如:txt/css、sjd/html等等

为什么要导入mime模块呢?

是因为使用fs.readFile(path,(err,data)=>{ res.end(data)})读取文件后,传输数据时,我们并不知道文件的类型,但有些文件需要识别编码和文件类型,才能将代码正确的运行出来,这个时候需要设置数据的头部信息为相应的文件类型,编码为utf8(res.setHeader(“content-Type”,type))。而不同的文件有着不同的文件类型,这个时候,我们就需要使用mime模块查询文件的MIME类型(也就是文件类型):mime.getType(path)

在代码中如何使用呢?将前面写的静态资源托管代码再一次优化。

index.js文件:

image.png

index.html:

image.png

代码运行结果:

image.png

下载流程:

1.导入mime模块

image.png

2.在cmd.exe中敲代码 npm i mime

npm i:下载当前项目所依赖的包( 生产环境 + 开发环境 )

mime:就是当前项目所依赖的包(也就是mime模块)

image.png

代码运行后的结果:我们发现mime文件夹中多了一个node_modules文件夹和一个package-lock.josn文件。

lock.json: 配置文件

node_modules 文件夹:存放下载的 npm 包

package-lock.json 配置文件:记录 node_modules 目录下 npm 包的信息 例如: 名字、版本号、下载地址…

image.png