学Node本质不是在学node,是在学服务器(web后台)编程
大前端时代:JavaScript语言也可以运行在服务器端
使用JavaScript这门语言也可以进行服务器编程
JavaScript通过node.js运行在服务器端
简单说nodejs就是运行在服务器端的JavaScript,利用JavaScript在服务端进行编程
node.js就是事件驱动、非阻塞I/O模型
nodejs开发的构成就成利用npm开发的社区提供的大量的第三方包加上基本的ECMAScript脚本语言以及node平台提供的一系列编程接口进行编程。
JavaScript语言本身是指ECMAScript,语言本身不包含BOM、DOM,BOM、DOM是浏览器环境给JavaScript提供的编程接口对象,理论上DOM、window都是属于BOM。
浏览器都有引擎,最少两个,一个是渲染引擎,一个是JavaScript解析执行引擎。
V8引擎就是专门用来解析和执行JavaScript代码的。
在所有浏览器中,Google chroome的V8引擎是最快的js脚本代码解析执行引擎。性能非常好
以前的JavaScript就是只能在浏览器里运行,包含ECMAScript和BOM浏览器的东西。
node不是一门新语言,他只是把chrome V8引擎移植到自己的环境当中,在这个环境之上构建了一系列的底层API,给ECMAScript提供了一些特定环境的编程接口。
I/O:输入与输出,例如在地址栏输入地址(输入),回车,到对应的网页(输出)。
npm托管了大概500000个包,都是JavaScript相关的,没有其他语言的东西。
只要是有规律的事情,都可以利用程序完成。
输入命令,会找到node.exe可执行文件进行解析、执行。为什么在哪里输入命令都会解析执行,原因就是环境变量。环境变量中配置path属性,找到node.exe所属目录,不包含配置文件名,把可执行文件的所属目录的绝对路径复制出来。为什么node安装完之后就可以随处在任何地方都可以使用的原因就是node安装自动配置了path环境变量。哈哈!!否则node命令是使用不了的。
node专注于运行在服务端,浏览器是没有对文件读写的能力的,但是node有,他们不是一个东西
在操作系统中,文件一切都是二进制0、1,需要toString
或者是这样也可以:
服务器就做3件事:
1.接收请求
2.处理请求
3.发送响应
node非常强大,代码本身就能开启一个服务器
什么是请求路径:主机名+端口号,/之后的是请求路径,例如:localhost:8080/ ,请求路径就是/,例如:localhost:8080/index.html ,请求路径就是index.html
IP地址就使用来定位一台计算机的,端口号是用来做什么?每个计算机网卡只有一个,你发了请求,对方的计算机就会收到数据,一个机器上会有好多联网的程序,一个网卡收到的数据,这个数据到底给谁,所以,端口号就是用来指定某个应用程序的。