原生路由 -- 流的操作
为什么要是用前段路由?
后端路由
:去访问一个页面的时候,要从后端向前段发送一个html的文件格式,然后通过浏览器去渲染这个html文件。
缺点:每次都会请求浏览器的资源 耗时间
前端路由:通过两种方式,
当页面路由改变时,去加载不同的页面
(用户视角),当页面路由改变时,调用不同的js去重新渲染页面
(对浏览器)。这就是单页面原理
hash
每次hash改变时,获取当前的hash值,对hashchange进行监听,页面刷新时,判断当前hash值,进行匹配。
var http = require( 'http' );
var fs = require( ' fs ' );
http.createServer(function(req,res){
switch(res.url){
case '/home':
res.write('home');
res.end();
break;
case '/name':
fs.readFile( ' ./static/name.html ',function(error,data){
if( error ) throw error
res.write(data);
res.end();
})
break;
case '/logo':
fs.readFile( ' ./static/name.html ','binary',function(error,data){
if( error ) throw error
res.write(data,'binary');
res.end();
})
break;
default;
break;
}
}).listen(8000,localhost,function(){
console.log( '服务器运行在: http://localhost:8000' );
})
history:
https://www.jianshu.com/p/b66f56c65049
流
减少内存消耗,增加效率;
1.创建一个压缩包
var fs = require( ' fs ' );
var zlib = require('zlib');//创建压缩包模块
var readStrem = fs.createStrem(' 1.txt ');//创建可读流
var out = fs.createWriteStrem(' 1.txt.gz ')//创建一个新的压缩包
var gzip = zlib.createGzip()//空压缩包
readStrem
.pipe(gzip)
.pipe(out);