1.网站的优化重点是思想
◆压缩能够压缩的,减少网络流量
◆合并的尽量合并,减少网络请求
◆可以使用其它大平台的CDN节点,如请求angular.js文件等等,请求别人的,那么就能够减少网络请求和网络流量。
◆少用js去遍历对象或者写for循环,for循环同步代码会阻塞线程。
◆能提前运算好的就提前运算好,使用枚举法。
◆响应式图片,图片压缩,根据你屏幕的大小显示指定大小的图片。
◆使用字体图标代替图片
◆传智播客老师做的一个svg图标素材下载的一个网站:www.iconsvg.com
2.Nodejs中的http模块儿
◆创建一个服务器,然后监听请求,当请求来了之后会去执行回调函数,函数中有两个参数,分别是请求对象和响应对象,可以通过响应对象往页面写数据,可以通过请求对象获取请求报文中的信息。
◆代码【
'use strict'
//引入模块儿
const http=require('http');
//创建一个服务器实例
const server=http.createServer();
//监听request事件
server.on('request',function(request,reponse){
//参数
response.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
//向响应报文的报文体写内容,往缓冲区里写文件流。
response.write('hello');
//end的方法只会执行一次,表示将缓冲区里的数据返回到页面
response.end('world');
});
//默认监听3000端口
server.listen(3000);
】
◆浏览器解析不了的文件就会认为是压缩包之类的文件,就会直接下载下来。
◆request.headers请求头、request.method请求方法、request.httpVersion请求协议、request.url请求的url地址。
◆post请求时需要这样才能够获取请求体中的内容【
//用于post请求时,读取请求体中的信息,但是是纯字符串的,需要做截取等操作。
request.on('data',function(chunk){
//chunk就是读取到的请求体中的内容
});
request.on('end',function(){
//读取请求体中的数据完毕
})
】
◆querystring模块儿用于解析post请求中的请求体里的数据,格式化为一个对象,这样就可以通过[]来获取值了:【
//引入querystring模块儿
const querystring=require('querystring');
//这个模块儿能把post请求体中的数据解析成对象
var dataObj=querystring.parse(data);
】
◆url模块儿用于解析get请求或者post请求中的url的数据,格式化为一个对象,这样就可以通过[]来获取值了:
◇【
consot url=require('url');
//url.parse第一个参数是请求过来的url地址,二个参数是:是否将url传递过来的参数进行格式化转换为一个对象,例如name=zs&age=10转化为{name:zs,age:10}
var urlObj=url.parse(request.url,true);
//获取url路径名称
console.log(urlObj.pathname);
//获取url传递过来的参数对象
console.log(urlObj.query);
】
◆请求某个文件,那么你就需要用文件流去读文件,然后将数据传递给浏览器。
◆
◆
◆
◆
◆
◆
3.推荐一个素材网:www.17sucai.com,有好多好多模板好多素材,很棒。
4.面试也是一门学问,怎么样摸清楚对方的强项,然后怎么去引导它
5.自定义命令行工具
◆方法一:
◇在pakeage.json中的scripts那里,加上对应的命令,如【
"scripts": {
"test": "node index.js"
}
】
◇这么做,就能够通过 npm test来直接调用index.js了。
◆方法二:
◇在package.json中的bin那里,加上对应的命令,如【
"bin":{
"hehe":"index.js"
}
】
◇然后在这个index.js文件中最上方写上#!/usr/bin/env node,表示这个文件是一个可运行的脚本文件,可以直接用node来运行,#!/usr/bin/env node这个必须放到第一行,并且还是固定写法
◇最后使用npm来将这个包安装到全局中,使用npm link命令做一个链接,来讲当前这个工具安装到全局目录中下
◇你可以通过bin中写的hehe来调用index.js了
◆
◆