Node流操作(启动器forever)

详情:

https://www.cnblogs.com/lalalagq/p/9749680.html

流:读取流,写入流,双向读写流。

读写流——压缩、加密

数据库不能直接接受流

sf.readFile('www${pathname}',(err,buffer)=>{
 res.write(buffer);
});
1.占用内存;
2.资源使用不均匀


const fs = require('fs);
let rs =  fs.createReadStream('1.txt');
let ws = fs.createWriteStream('2.txt');

rs.pipe(ws);

rs.on('error',()=>){
 console.log(err);
})

ws.on('finish',()=>{
 console.log('完成');
})

 

Comedy:
读写流——压缩、加密
数据库不能直接接受流

const fs = require('fs);
const zilib = require('zlib');

let rs =  fs.createReadStream('1.txt');
let gz = zlib.createGzip();
let ws = fs.createWriteStream('2.txt.gz');

rs.pipe(gz).pipe(ws);

rs.on('error',()=>){
 console.log(err);
})

ws.on('finish',()=>{
 console.log('完成');
})

Comedy:
cosnt http = require('http');
const zlib = require('zlib');
const url = require('url');
const fs = require('fs');

http.createSever((req,res)=>{
 let {pathname} = url.parse(req.url,true);
let filepath='www'+pathname;

 
fs.stat(filepath,(err,stat)=>{
if(err){
 //res.setHerader('content-encoding','deflate');
  res.writeHeader(404);
  res.write('NOT FOUND');
  res.end();
}else{
 let rs=fs.createReadStream(filepath);
 rs.on('error',()=>{ });
 res.setHerader('content-encoding','gzip');
 let gz = zlib.createGzip();
 rs.pipe(res);

}
});

}).listen(8520);

 

启动器 (forever,pm2......)

forever
npm i forever -g
forever start server.js
终端关了依旧在,会自动启动

forever list 查看运行列表
forever restart server.js 停掉再重开
forever stop server.js 停掉
forever stopall 停掉全部

forever start xxx.js -l c:/a.log -e c:/err.log -a

 

路由router

eg:
'/login' => function(){}
'/reg' => function(){}
' *' => read

posted @ 2019-11-03 21:34  Comedyy  阅读(261)  评论(0)    收藏  举报