nodejs

google的v8引擎,事件驱动,非阻塞(单线程),异步IO模型(适合io密集型)提高性能

缺点:匿名函数抛出异常不好处理,trycatch之局限同步,cpu密集型受限

node奇数开发版,偶数稳定版(15发布4.0,16发布6.0,17发布8.0)

commonJS规范

node中每个文件独立运行在一个函数中(arguments.callee可见),不是全局作用域
函数的五个参数:
    1)exports 要导出的对象
    2)require 调用外部的函数
    3)module模块本身,exports为其属性
    4)__filename绝对路径带文件名
    5)__dirname绝对路径文件夹(不带文件名)

module.exports和exports问题
    exports变量等于module.exports,所以不可exports指向新对象,只可添加属性

nodejs的全球变量global(类浏览器window)

npm包

包结构
    package.json  描述文件(必须)
    bin可执行二进制
    lib 代码
    doc文档
    test单元测试
npm命令

    npm install(i)
    npm install 包名 --save(s) //添加至生产依赖(dependencies)
    npm install 包名 --save-dev //添加至开发依赖(devDependencies)
    npm install -d(D) //同--save-dev
    npm -version(v)
    npm search 待搜//搜索含的包
    npm init //初始化
    npm install 包名 -g //全局安装
    npm install -g cnpm --registry=https://registry.npm.taobao.org //淘宝镜像
可省run的两个关键字
  - npm start //
  - npm test //
当引入模块标识名字时,从当前node_modules开始找,依次找到根目录的node_modules

 Buffer(缓冲区:node里面的新对象)

Buffer结构和数组很像,操作类似数组
以unicode格式存其对应的8位(8bit=1byte)二进制数据(电脑显示成十六进制,特别地,Buffer一个utf8汉字占用三个字节)//注:电脑单独显示数字任何状态都是10进制(防乱),buffer对象内才16
官网不推荐构造函数方式新建buffer,常用:
    Buffer.alloc(size),初始为00,
    Buffer.allocUnsafe(size),初始不安全
    Buffer.from('str')字符串转换为buffer
    buf.toString()  将buffer格式转化为字符串
buffer范围00-ff,超出255只保留后8位,定义长度即固定不可改(对底层实际修改新建),超出无效

文件系统(fs)

//直接从内存写入读取
var fs = require('fs')
fs.open//加Sync同步
fs.write
fs.read
fs.close
fs.writeFile
fs.readFile//流式文件写入读取

var ws = fs.createStream(path)

ws.write('哈哈')
ws.write('嘿嘿')
ws.end()

//特别地,读取时,必须绑定data事件其自动读取
var rs = fs.createReadStream(path)
var ws = fs.createWriteStream(path)
rs.on('data',function(data){})//data一次读取65536字节,不常用
rs.pipe(ws)//直接将可读流写到可写流

特别的,ws.once('open',callback)监听(close)

等等

 

转载于:https://www.cnblogs.com/liqunblog/p/9350431.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值