1.0.1 • Published 3 years ago

@buxuku/lxd-server v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

手写实现一个简单的http-server服务

利用node原生的http模块来启动一个http服务,支持以下API

Options:
  -p, --port <n>      set custom port, default: 8080
  -d,--directory <n>  set custom directory, default: process.cwd()
  -c,--cache <n>      set cache control, default: no-cache
  -h, --help          display help for command

核心思路

  • 通过commander模板来解析命令参数
  • 通过http模板来启动一个http-server服务
  • 监听请求,对请求路径进行解析,获取到要请求的文件路径
  • 如果请求的是文件,利用fs模块读取文件并输出
  • 如果是文件夹,读取文件夹下面的文件及文件夹,通过ejs来渲染一个文件列表页 手写实现简单的ejs模板解析
  • 在输出文件的时候,利用mime模块读取出文件的类型,输出正确的Content-Type;
  • 通过读取文件的创建时间来设置Last-Modified
  • 利用crypto模块对文件内容生成Etag来进行缓存
1.0.1

3 years ago