1.搭建基础结构,然后实现第一个功能就是判断路径上输入文件或者文件夹,要是文件就显示其内容,要是文件夹就显示其文件列表。 2.当遇到路径是文件夹的情况显示文件列表,需要新创建一个html文件,然后通过模板引擎将其引入。(针对文件夹) 3.然后下一个功能就是输入一个路径,在返回的页面上路径也要显现出来,也是通过模板引擎引入(针对文件夹) 4.下一个功能,就是这些文件夹都是超链接,我们要将其设置为超链接并具备跳转的功能,但是要注意根目录下的路径写法是与其他路径写法不一样的,注意判断(针对文件夹) 5.当我们发送不同类型文件的请求时,需要动态设置响应头来确定响应体的类型,这时我们需要一个json文件来保存这些信息(针对文件,因为文件夹都是一个格式) 6.我们想根据不同的请求头的压缩方式来确定响应头的压缩方式并进行压缩(针对文件) 7.我们想对文件设置强制缓存(针对文件) 8.注释掉强制缓存,再试试协商缓存,需要安装一个内置模块,设置响应头,判断请求头里的If-None-Match跟Etag值是否相等(针对文件) 9.配置文件的分离,就是以后文件里的有些内容我们通过设置外部的js直接修改就行,而不需要跑进代码里去修改 10.设置自动打开浏览器,安装内置模块better-opn,并在config里面进行配置 11我们想获取命令行参数,通过安装内置模块yargs,通过逻辑或的关系我们要达到这么一个需求,就是在命令行输入参数的优先级要高于配置文件里的优先级 12.我们想如果不再命令行设置关于根目录的参数,那么就会根据文件执行的目录为根目录进行打开