作家
登录

静态文件服务器实现的功能

作者: 来源: 2018-03-24 18:32:17 阅读 我要评论


  • 攫取静态文件 
  • MIME类型支撑
  • 缓存支撑/控制
  • 支撑gzip紧缩
  • Range支撑,断点续传 
  • 宣布为可履行敕令并可今后台运行,可以经由过程npm install -g安装

起首先构建好项目目次,项目目次如下:

  1. project 
  2.  
  3. |---bin 敕令行实现放置脚本 
  4. |---public 静态文件办事器默认静态文件夹 
  5. |---src 实现功能的相干代码 
  6. | | 
  7. | |__template 模板文件夹 
  8. | | 
  9. | |__app.js 重要功能文件(main文件) 
  10. | |__config.js 设备文件  
  11. |---package.josn (初始化) 

要启动一个办事器,我们须要知道这个办事器的启动时的端标语,在config.js设备一下:

攫取静态文件之前起重要先启动办事器,之后所有的办法都在class Server办法里

  1. //handlebar 编译模板,获得一个衬着的办法,然后传入实际数据数据就可以获得衬着后的HTML了 
  2. function list() { 
  3. let tmpl = fs.readFileSync(path.resolve(__dirname, 'template''list.html'),'utf8'); 
  4. return handlebars.compile(tmpl);//进行编译,最后衬着 
  5. }class Server { 
  6.     constructor(argv) { 
  7.         this.list = list(); 
  8.         this.config = Object.assign({}, this.config, argv); 
  9.     } 
  10.     start() { 
  11.         let server = http.createServer();//创建办事器 
  12.         //当客户端向办事端发出数据的时刻,会出发request事宜 
  13.         server.on('request', this.request.bind(this)); 
  14.         server.listen(this.config.port, () => {//监听端标语 
  15.             let url = `http://${this.config.host}:${this.config.port}`; 
  16.             debug(`server started at ${chalk.green(url)}`); 
  17.         }); 
  18.     } 
  19. //发送缺点信息, 
  20. sendError(err, req, res) { 
  21.     res.statusCode = 500; 
  22.     res.end(`${err.toString()}`); 
  23. }} 
  24. module.exports = Server; 

攫取静态文件

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)