Node流操作

Posted comedy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node流操作相关的知识,希望对你有一定的参考价值。

详情:

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

以上是关于Node流操作的主要内容,如果未能解决你的问题,请参考以下文章

Node.js JavaScript 片段中的跳过代码

Node流操作

java内存流:java.io.ByteArrayInputStreamjava.io.ByteArrayOutputStreamjava.io.CharArrayReaderjava.io(代码片段

Node.js:Stream(流)

Node.js Stream(流)

Node.js Stream(流)