目录
1:Node.js
1.1:什么是node.js
- Node.js 的官网地址: https://nodejs.org/zh-cn/
- Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。
-
首先要清楚Node不是一个Web服务器,这十分重要。它本身并不能做任何事情。它无法像Apache那样工作。如果你希望它成为一个HTTP服务器,你必须借助它内置库自己编写。Node.js只是计算机上执行代码的另一种方式,它是一个简单的JavaScript Runtime.
-
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
1.2:Node.js中的Javascript运行环境
1.3:Node.js可以做什么
- 具有复杂逻辑的网站
- 基于社交网络的大规模web应用
- web Socket网站
- TCP\UDP套接字应用程序
- 命令行工具
- 交互式终端程序
- 带有图形用户界面的本地应用程序
- 单元测试工具
- 客户端Javascript编译器
- 基于 Electron 框架(https://electronjs.org/),可以构建跨平台的桌面应用
- 基于 restify 框架(http://restify.com/),可以快速构建 API 接口项目
- 读写和操作数据库、创建实用的命令行工具辅助前端开发、etc…
node最大的特点是采用异步式I\O与事件驱动
异步式 I/O 与事件驱动
Node.js 使用的是单线程模型,对于所有I/O都采用异步式的请求方式,避免了频繁的上下文切换。Node.js 在执行的过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式 I/O 请求完成后会被推送到事件队列,等待程序进程进行处理。Node的异步机制是基于事件的,所有的磁盘I/O,网络通信,数据库差选都是以非阻塞的的方式来请求,返回的结果有事件循环来处理,如图所示
Node.js 进程在同一时刻只会处理一个事件,完成后立即进入事件循环检查并处理后面的事件。这样做的好处是,CPU和内存在同一时间集中处理一件事,同时尽可能让耗时的I/O操作并行执行。对于低速连接攻击,Node.js只是在事件队列中增加请求,等待操作系统的回应,因而不会有任何多线程开销,很大程度上可以提高 Web 应用的健壮性,防止恶意攻击。
最重要的是:Node中的js不需要考虑浏览器的兼容问题!!!
原文链接:https://blog.csdn.net/m0_37938910/article/details/103673105/
1.4:Node.js的学习路径
JavaScript 基础语法 → Node.js 内置 API 模块(fs、path、http等)
1.5:查看已安装的Node.js的版本号
cmd 输入node -v查看版本号