学习node入门笔记

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,性能好可是耗内存

断言——assert
const assert=require('assert')
function sum(a,b){
  assert(arguments.length==2,'必须传2个参数')
  assert(typeof a=='number','第一个参数必需是数字')
  return a+b
}
console.log(sum(2,3))
//如果不满足断言里得条件就跳出程序
Buffer(缓冲器)

帮助node.js处理二进制文件

crypto(加密)
const crypto=require('crypto')

let obj=crypto.createHash('md5')

//obj.update('123456')

obj.update('123')
obj.update('456')

console.log(obj.digest('hex')) //e10adc3949ba59abbe56e057f20f883e

md5、sha

http

HTTP/HTTPS
HTTP/2

const http=require('http');
const fs=require('fs');

let server=http.createServer((req, res)=>{
  fs.readFile(`www${req.url}`, (err, data)=>{
    if(err){
      res.write('404');     //?
    }else{
      res.write(data);
    }
    res.end();
  });
});
server.listen(8080);

OS

提供系统操作

const os=require('os')
console.log(os.cpus())//cpu的信息
//如果不满足断言里得条件就跳出程序
path

路径

const path=require('path')
let str=`/var/local/www/aaa/1.png`

console.log(path.dirname(str)) 
//  /var/local/www/aaa
console.log(path.basename(str))
// 1.png
console.log(path.extname(str))
// .png

// console.log(__dirname)// 存放当前文件文件夹的绝对路径 d:\trydemo\node
// console.log(process.execPath) //获取node.exe的绝对路径 C:\Program Files\nodejs\node.exe
//console.log(__filename,1111) // 当前文件(即fs.js)的绝对路径 d:\trydemo\node\fs.js
Event(事件队列)
Query Strings
const querystring=require('querystring');

let obj=querystring.parse('ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=aa&rsv_pq=f80d982000063ffb&rsv_t=6498LAZdRZjq9v4v0hs88kZItnCjDpT6UNBKr%2FF83%2F%2Bg4eiPURW2eQl9Iwc&rqlang=cn&rsv_enter=1&rsv_sug2=0&inputT=10&rsv_sug4=10');

console.log(obj);
// { ie: 'utf-8',
// f: '8',
// rsv_bp: '0',
// rsv_idx: '1',
// tn: 'baidu',
// wd: 'aa',
// rsv_pq: 'f80d982000063ffb',
// rsv_t:
//  '6498LAZdRZjq9v4v0hs88kZItnCjDpT6UNBKr/F83/+g4eiPURW2eQl9Iwc',
// rqlang: 'cn',
// rsv_enter: '1',
// rsv_sug2: '0',
// inputT: '10',
// rsv_sug4: '10' }
Url
const url=require('url');

let obj=url.parse('https://www.baidu.com:8080/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=aa&rsv_pq=f80d982000063ffb&rsv_t=6498LAZdRZjq9v4v0hs88kZItnCjDpT6UNBKr%2FF83%2F%2Bg4eiPURW2eQl9Iwc&rqlang=cn&rsv_enter=1&rsv_sug2=0&inputT=10&rsv_sug4=10', true);

console.log(obj);
// {
//   protocol: 'https:',
//   slashes: true,
//   auth: null,
//   host: 'www.baidu.com:8080',
//   port: '8080',
//   hostname: 'www.baidu.com',
//   hash: null,
//   search:
//    '?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=aa&rsv_pq=f80d982000063ffb&rsv_t=6498LAZdRZjq9v4v0hs88kZItnCjDpT6UNBKr%2FF83%2F%2Bg4eiPURW2eQl9Iwc&rqlang=cn&rsv_enter=1&rsv_sug2=0&inputT=10&rsv_sug4=10',
//   query:
//    { ie: 'utf-8',
//      f: '8',
//      rsv_bp: '0',
//      rsv_idx: '1',
//      tn: 'baidu',
//      wd: 'aa',
//      rsv_pq: 'f80d982000063ffb',
//      rsv_t:
//       '6498LAZdRZjq9v4v0hs88kZItnCjDpT6UNBKr/F83/+g4eiPURW2eQl9Iwc',
//      rqlang: 'cn',
//      rsv_enter: '1',
//      rsv_sug2: '0',
//      inputT: '10',
//      rsv_sug4: '10' },
//   pathname: '/s',
//   path:
//    '/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=aa&rsv_pq=f80d982000063ffb&rsv_t=6498LAZdRZjq9v4v0hs88kZItnCjDpT6UNBKr%2FF83%2F%2Bg4eiPURW2eQl9Iwc&rqlang=cn&rsv_enter=1&rsv_sug2=0&inputT=10&rsv_sug4=10',
//   href:
//    'https://www.baidu.com:8080/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=aa&rsv_pq=f80d982000063ffb&rsv_t=6498LAZdRZjq9v4v0hs88kZItnCjDpT6UNBKr%2FF83%2F%2Bg4eiPURW2eQl9Iwc&rqlang=cn&rsv_enter=1&rsv_sug2=0&inputT=10&rsv_sug4=10' }
网络

TCP-稳定 Net
UDP-快 UDP/Datagram

DNS域名解析
const dns=require('dns')

dns.resolve('baidu.com',(err,res)=>{
  if(err){
    console.log('解析失败')
  }else{
    console.log(res)//[ '123.125.115.110', '220.181.57.216' ]
  }
})
流操作——Stream

连续数据都是流——视频流、网络流、文件流、语音流

TLS/SSL

加密、安全

ZLIB——gz

压缩

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值