qs fs 路由
-
querystring
- 功能:
- 核心方法
- parse 将String – > Object
parse( str , arg1 , arg2)
str: 你要处理的字符
arg1: 分隔字符
arg2:
将 = 转化为 : , (这句话前提是 & 符号是提前被转化的)
var str = 'http://www.baidu.com:8080/001?a=1&b=2#hash=20' var obj = qs.parse( str,'?','&' )
- stringify 将Object -> String
将Object -> String
console.log( qs.stringify( obj ) )
- escape 将 中文字符 编码
var charaStr = 'http://www.baidu.com/001?city=北京' var urlObj = url.parse(charaStr) // http%3A%2F%2Fwww.baidu.com%3A8080%2F001=&a%3D1=b%3D2%23hash%3D20 // %3A : %2F / %3D = %23 # =& ?
- unescape 将中文字符解码
- parse 将String – > Object
-
http
核心方法
get
request
小爬虫 -
events
var Events= require('events');
class myEvents extends Events{};
var myevents=new myEvents();
myevents.on('aa',function(error){
console.log('qwer')
})
myevents.emit('aa')
- fs
- 目录的增删改查
var fs = require('fs');
//创建目录
// fs.mkdir('./day03_name',function(error){
// if(error) throw error
// })
//改目录
// fs.rename('./day03_name/','./day03_fs',function(error){
// if(error) throw error
// console.log('写入成功')
// })
//查目录
// fs.writeFile('./day03_fs/1.txt','ass',function(error){
// if(error) throw error
// })
// fs.readdir('./day03_fs',function(error,data){
// if(error) throw error
// console.log(data)
// })
// //删目录
// fs.unlink('./day03_fs/1.txt',function(error){
// if(error) throw error
// })
fs.rmdir('./day03_fs',function(error){
if(error) throw error
})
- 文件的增删改查
var fs = require('fs');
//增加文件
// fs.writeFile('../day03/ceshi/1.txt','搞',function(){
// console.log('增加文件成功')
// })
//写入文件
// fs.appendFile('../day03/ceshi/1.txt','zizi',function(){
// console.log('改文件成功')
// })
//读取文件
// fs.readFile('../day03/ceshi/1.txt','utf8', function (error,data) {
// if (error) throw error;
// console.log(data)
// })
//删除文件
// fs.unlink('../day03/ceshi/1.txt',function(error){
// if (error) throw error;
// console.log('删除成功')
// })
- stream
const zlib = require('zlib');//压缩包插件 const gzip = zlib.createGzip();//创建空压缩包 const fs = require('fs'); const inp = fs.createReadStream('./ceshi/input.txt');//读取要传的文件 const out = fs.createWriteStream('./ceshi/input.txt.gz');//接收的文件 inp.pipe(gzip).pipe(out);//流
- Node.js原生路由
简单的说就是一个地址对应一个网页,当后面的地址改变时页面也会随之改变 - 前端异步流程工具
传统:
回调函数
流行:- Promise
- Generator函数
generator函数
概念, 在function 关键字后面写一个* ,表示一个generator函数
generator通过 yield 关键字来定义任务 - Async函数
- Node.js nextTick setImmidate
- 第三方 async.js 库