Node 简介
Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境
Node.js采用Google开发的V8引擎运行js代码,使用事件驱动、非阻塞和异步I/O模型等技术来提高性能,可优化应用程序的传输量和规模。
第一种:点击打开 -> 输入 cmd 进入到cmd命令窗口
第二种:win + r 输入 cmd C:\Users\Administrator>
第三种: shift + 鼠标右键 ->在此处打开命令窗口
第四种: 在文件的地址栏输入cmd
切换盘符 d:
cd 文件路径 进入到文件 cd D:\text
cd 进入到名录的首字母 按tab 自动补全
dir 查看文件 目录
md 文件夹名字 :创建文件夹
rd 文件名 :删除一个空文件
rd /s 文件名 :删除时会有友情提示
rd /s /q 文件名 :删除没有提示
cls:清屏
特点
1,单线程;
2,非阻塞I/O;
3,事件驱动event-driven;
适合开发么
Web服务API,比如REST
实时多人游戏
后端的Web服务,例如跨域、服务器端的请求
基于Web的应用
多客户端的通信,如即时通信
模块的基本使用
在Node.js中,一个js文件就称之为一个模块。
定义了一个模块,模块里的参数或者变量,外部是不能访问的,要进行访问就要暴露这个变量。
通过export关键字暴露模块,通过import关键字引入模块。
引入模块时,在script标签里设置type=“module”
fs模块
要用到模块,必须先引入模块
let fs = require(“fs”) //引入模块 不能加./ 文件路径
运行js文件 安装了nodel.js 自动集成到编辑器
终端执行js文件 node js文件名
fs.readFile() // 读取文件
不允许外部修改 可以用常量定义 const
fs.readFile(“文件路径”,“utf8”,function(err,data){})
http模块
let http = require(“http”) //引入模块
创建一个服务 :
new http.Server() //创建一个服务
let http = require("http")
let server = new http.Server();
//req 请求 res 响应
server.on("require",(req,res)=>{
console.log("123");
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"})
res.write("这是第二种请求");
res.end();
})
//监听端口 没有绑定地址 默认是127.0.0.1
server.listen(3000);
http请求与I/O
HTTP请求信息由3部分组成:
请求方法URI协议/版本
请求头
请求正文
HTTP协议会话过程:
建立连接:客户端的浏览器向服务端发出简历连接的请求,服务端给出响应就可以建立连接。
发送请求:客户端按照协议的要求通过连接向服务端发送自己的请求。
给出应答:服务端按照客户端的要求给出应答,把结果(HTML文件)返回给客户端。
关闭连接:客户端接到应答后关闭连接。
HTTP响应:
状态行
消息报头:响应报头后述
响应正文:服务器返回资源内容
常见状态码:
200 客户端请求成功
400 客户端请求有语法错误,不能被服务器理解
401 请求未经授权
403 服务器收到请求,但拒绝提供服务
404 请求资源不存在
500 服务器发生不可预期的错误
503 服务器当前不能处理客户端的请求,一段时间后可能恢复正常