使用nodejs实现一个简单的发布系统。
本文并没有从零到一构建一个完整的发布系统,仅是抛砖引玉的一个demo版本
引入HTTP模块
编写一个简单的server
1  | const http = require('http')  | 
编写一个简单的request
1  | const http = require('http')  | 
node.js 的流
流主要可以分成两个部分
可读的流 readable
'close'事件- 当流或其底层资源(比如文件描述符)被关闭时触发 
'close'事件。 该事件表明不会再触发其他事件,也不会再发生操作。 2.'data'事件 - 当流将数据块传送给消费者后触发。
 - 对于一个流来说,接收某个文件流时是逐步的读取这个文件的数据出来的,根据流的定义,我们不关心这个文件每次读取了多少出来,所以
data可能会被一次或者多次的调用 
- 当流或其底层资源(比如文件描述符)被关闭时触发 
 'end'事件'end'事件只有在数据被完全消费掉后才会触发。
可写的流 writeable
- write() 写入数据到流,并在数据被完全处理之后调用 
callback。 如果发生错误,则callback可能被调用也可能不被调用。 为了可靠地检测错误,可以为'error'事件添加监听器。callback会在触发'error'之前被异步地调用。 
- write() 写入数据到流,并在数据被完全处理之后调用 
 
发送文件到服务
1  | const fs = require('fs')  | 
服务端接收到文件之后写入指定文件
1  | const http = require('http')  | 
扩展
- 将server 改装成一个服务系统,用于接收和写入文件即是一个完整的发布服务。
 - 当前只写到传输一个指定文件,未扩展写入多个文件/文件夹
 
to be continued…
以上。