博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NodeJS相关笔记(六)
阅读量:5072 次
发布时间:2019-06-12

本文共 2099 字,大约阅读时间需要 6 分钟。

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了

转载于:https://www.cnblogs.com/jwlLWJ2018/p/9247749.html

你可能感兴趣的文章
页面中公用的全选按钮,单选按钮组件的编写
查看>>
判断文本框输入的文字长度
查看>>
java笔记--用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程
查看>>
Scaling Pinterest - From 0 To 10s Of Billions Of Page Views A Month In Two Years
查看>>
SelectSort 选择排序
查看>>
关于android 加载https网页的问题
查看>>
BZOJ 1047 HAOI2007 理想的正方形 单调队列
查看>>
各种语言推断是否是手机设备
查看>>
这个看起来有点简单!--------实验吧
查看>>
小知识:js如何更改css样式
查看>>
PHP count down
查看>>
JVM参数调优:Eclipse启动实践
查看>>
(旧笔记搬家)struts.xml中单独页面跳转的配置
查看>>
不定期周末福利:数据结构与算法学习书单
查看>>
strlen函数
查看>>
Java中的String,StringBuilder,StringBuffer三者的区别
查看>>
Python爬虫
查看>>
python的列表与shell的数组
查看>>
关于TFS2010使用常见问题
查看>>
软件工程团队作业3
查看>>