介绍:
为什么使用Node
1.解决了高并发连接时的内存占用和资源共享问题
传统后台语言是多线程的,比如:每个用户占2m的内存,8G内存可以承载4000人,node是单线程,触发一个事件,可以容纳几万人的同时在线
2.v8虚拟机引擎执行效率非常高
3.非阻塞io,事件环
4.模块化开发
前后台统一语言
全栈开发
统一公共类库
代码标准化
v8引擎:运行速度快,快速属性访问,动态机器码,垃圾收集
设计先进:单线程,非阻塞io,异步编程,事件环,内存开销小,延迟不敏感
生态繁荣:包的数量多,包质量高,数量飞速增长,开发者活跃,开发效率高
核心模块:
buffer:实现二进制数据的存储与转换
console:控制台输出信息
events:用于为事件处理提供一个基础类
fs:用于操作文件及文件系统
http:用于实现http服务及端及客户端
net:用于创建tcp服务器及客户端
path:用于处理文件路径
querystring:用于处理http请求中使用的查询字符串
repl:用实现pepl(read-eval-print-loop)交互式运行环境
stream:为流的输入输出提供一个基础类
url:用于实现url字符串的解析和格式化
util:提供一些常用工具函数
扩展的类、函数与对象
buffer类:用于为二进制数据的存储提供缓存区
setTimeout:用于在指定时间内到达执行一个指定函数,指定方法为从当前时刻之后多少毫秒
clearTimeout:用于取消setTimeout函数内指定的函数的执行
setInterval:用于指定每隔多少执行一个函数
clearInterval:用于取消在setInterval函数内指定的函数的执行
require:用于加载模块
Module对象:用于访问模块信息
process对象:用于访问进程信息
控制台:
console.log:标准输出流的输出