虚拟机 vmware liniux?
Node.js——服务器端语言
http://nodejs.cn/
https://nodejs.org/
用途
- 中间层
安全性——客户端直接连接主服务器,主服务器暴露给客户端是有安全隐患的
性能——可以缓存,汇总请求,可以到处布点帮助用户提高访问速度
降低主服务器复杂度——可以完成一些零散的功能,主服务器负责核心功能 - 小型服务
- 工具——babel,webpack是用nodejs实现的
优势
- 便于前端入手
- 性能高
- 利于和前端代码整合
搭建
- 换源
npm install cnpm -g --registry=https://registry.npm.taobao.org - 安装
npm install xxx
npm i xxx
cnpm i xxx - 删除
npm uninstall xxx
npm un xxx
cnpm un xx
怎么卸载低版本
1.卸载node本身、删除nodejs目录
2.手动删除C:\Program Files\nodejs\node_modules
3.手动删除C:\users\你\node_modules\
运行nodejs程序
- 进入需要运行的js文件目录
cd x: - 运行
node x.js
包:
- 安装
cnpm i 包名称,例如 cnpm i multer - 引入
const multer = require('multer'); - 使用
const http = require('http'); let server = http.createServer(() => { //请求 console.log('请求来了'); }); //监听 server.listen(8080);
Nodejs基础结构和数据处理
示例代码见:https://github.com/xiaowuzi2012/nodeJsStudy
服务器
- 功能
响应请求--处理接口
数据交互--处理文件
数据库--存储数据 - HTTP——协议
HTTP 1.0 RFC-1945 非持久连接
HTTP 1.1 RFC-2616 持久连接
HTTPS RFC-2818 安全协议
HTTP 2.0 RFC-7540 加密、头部压缩、服务器推送、管线操作、多路复用 - http报文结构
header 大小<=32K
body 大小<=2G - 状态码
1xx 信息
2xx 成功
3xx 重定向
4xx 请求错误,客户端错误
5xx 服务器错误 - 请求方式
GET 获取,一次传输,数据放在url里面传输的,容量小<=32K
POST 发送数据,一个请求多次传输,容量大 - 接收浏览器的GET数据——url
url模块
url.parse(req.url, true)=>{
pathname, query
}
GET=>"/aaa/b?xx=xxx&xxx=xx"
url.parse('xx') - 接收浏览器的POST数据——body
分几次
let arr=[];
req.on('data', buffer=>{
arr.push(buffer);
});
req.on('end', ()=>{
let buffer=Buffer.concat(arr);
})
POST=>"xx=xxx&xxx=xx"
querystring.parse('xx')
Node.js的模块系统
- 定义模块
module 批量导出
exports 单个导出
require 加载模块 - 加载模块
如果带有路径——去路径下面找
如果没有路径——先找本项目的 node_modules文件夹,再找系统的node_modules文件夹
网友评论