详情:

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

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

读写流——压缩、加密

数据库不能直接接受流

  1. sf.readFile('www${pathname}',(err,buffer)=>{
  2. res.write(buffer);
  3. });
  4. .占用内存;
  5. .资源使用不均匀
  6.  
  7. const fs = require('fs);
  8. let rs = fs.createReadStream('1.txt');
  9. let ws = fs.createWriteStream('2.txt');
  10.  
  11. rs.pipe(ws);
  12.  
  13. rs.on('error',()=>){
  14. console.log(err);
  15. })
  16.  
  17. ws.on('finish',()=>{
  18. console.log('完成');
  19. })
  1. Comedy:
  2. 读写流——压缩、加密
  3. 数据库不能直接接受流
  4.  
  5. const fs = require('fs);
  6. const zilib = require('zlib');
  7.  
  8. let rs = fs.createReadStream('1.txt');
  9. let gz = zlib.createGzip();
  10. let ws = fs.createWriteStream('2.txt.gz');
  11.  
  12. rs.pipe(gz).pipe(ws);
  13.  
  14. rs.on('error',()=>){
  15. console.log(err);
  16. })
  17.  
  18. ws.on('finish',()=>{
  19. console.log('完成');
  20. })
  21.  
  22. Comedy:
  23. cosnt http = require('http');
  24. const zlib = require('zlib');
  25. const url = require('url');
  26. const fs = require('fs');
  27.  
  28. http.createSever((req,res)=>{
  29. let {pathname} = url.parse(req.url,true);
  30. let filepath='www'+pathname;
  31.  
  32. fs.stat(filepath,(err,stat)=>{
  33. if(err){
  34. //res.setHerader('content-encoding','deflate');
  35. res.writeHeader();
  36. res.write('NOT FOUND');
  37. res.end();
  38. }else{
  39. let rs=fs.createReadStream(filepath);
  40. rs.on('error',()=>{ });
  41. res.setHerader('content-encoding','gzip');
  42. let gz = zlib.createGzip();
  43. rs.pipe(res);
  44.  
  45. }
  46. });
  47.  
  48. }).listen();

启动器 (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流操作(启动器forever)的更多相关文章

  1. Node学习笔记(一):stream流操作

    NodeJs中谈及较多的可能就是Stream模块了,先写一个简单的ajax回调 $.post("index.php",{data:'aaa',order:'ccc'},functi ...

  2. io流操作大全

    JAVA 中的IO流 一.流的概念        流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部 ...

  3. 侠说java8--Stream流操作学习笔记,都在这里了

    前言 首次接触到Stream的时候以为它是和InputStream.OutputStream这样的输入输出流的统称. 流和集合的前世今生 概念的差异 在开发中,我们使用最多的类库之一就是集合.集合是一 ...

  4. [WCF编程]10.操作:流操作

    一.流操作概述 在默认情况下,当客户端调用服务时,服务只有在接收到完整的消息后才会被调用,同样,客户端只有在包含了调用结果的返回消息被完整接受时,才会解除对它的阻塞. 对于数据量小的消息,这种交换模式 ...

  5. Stream 流操作

     Stream 类 先看下面的图 Stream 是所有流的抽象基类(不能被实例化,需要使用他的派生类FileStream/MemoryStream/BufferedStream).流是字节序列的抽象概 ...

  6. 使用node js 操作 Mysql 数据库

    使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...

  7. delphi 基础之三 文件流操作

    文件流操作 Delphi操作流文件:什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具.在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的, ...

  8. IOS文件操作的两种方式:NSFileManager操作和流操作

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

  9. C++流操作之fstream

    在Windows平台对文件进行存取操作可选的方案有很多,如果采用纯C,则需要用到File*等,当然也可以直接调用Windows API来做:如果采用C++,首先想到的就是文件流fstream.虽然在C ...

随机推荐

  1. Monkey实战测试步骤

    1,adb devices 确保设备在线 2,adb shell pm list packages 查看包名 3,adb shell monkey -p com.xzck.wangcai   --ig ...

  2. react-native-pg-utils(对react-native全局进行配置,对内置对象原型链增加方法,增加常用全局方法.)

    react-native-pg-utils 对react-native全局进行配置,对内置对象原型链增加方法,增加常用全局方法. 每次新建react-native项目之后都会发现有一些很常用的方法在这 ...

  3. vim 插件安装

    一.pathogen简介 通常情况下安装vim插件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文 ...

  4. Meathill的博客地址

    https://blog.meathill.com/ 安装mysql: https://blog.meathill.com/tech/setup-windows-subsystem-linux-for ...

  5. Laravel 配置

    首页 问答社区 中文文档 API Composer Github 配置说明 框架下载好了,但是想要很好的使用,可能我们还有一些东西需要知道,这就是配置.和项目有关的配置是在 app/config 文件 ...

  6. flask 第十篇 after_request before_request

    Flask我们已经学习很多基础知识了,现在有一个问题 我们现在有一个 Flask 程序其中有3个路由和视图函数,如下: from flask import Flask app = Flask(__na ...

  7. BigDecimal常用的加减乘除算法、比较大小、不展示多余的零、保存两位小数点

    项目中涉及到了BigDecimal的加.减.乘.比较大小.精确度的问题.所以在此总结一下,方便以后复习. //加法 BigDecimal coins = new BigDecimal("0& ...

  8. ArcGIS Python 坐标系信息

    ############################################################# import arcpy import os from arcpy impo ...

  9. shell 基数数值方法

    shell 下获取数值的结果 1. # expr 1 "+" 2 2. # echo "1+2" |bc 3. # echo $(( 1+3))

  10. 青岛和深圳,两座条件相似的城市,为何GDP相差这么大

    深圳和青岛,是一对非常有意思的城市.两者都是沿海城市:两者都是所在省的经济强市:两者都是副省级城市,但都不是省会:两者GDP都超过所在省的省会城市.当然,两个城市也有相当大的差距,一个位于南方,一个位 ...