Node介绍——什么是Node?
今天偶然之间有回顾了node.js。所以就迫不及待地想发博客给刚入门的小白!
简单的说 Node.js
1.就是运行在服务端的 JavaScript。
2.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
3.Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
1.编写高性能网络服务器的javascript工具包(用js开发服务端程序)
2.单线程、异步、事件驱动
单线程:01.php不支持多线程,但是php的服务apache支持多线程,启动时会初始化150个线程供php使用。在线程池中,线程工作将内容提供到客户端之后继续回到线程池中等待被调用;02.node.js单线程,多个线程对库操作,每个线程对应一个块内存;03.PHP高并发、大数据量如何处理?让线程快速结束(线程优化、主键)
异步和事件驱动:异步访问完数据库之后就去进行其他操作,访问过程速度特别快,当下一步需要数据时会报错,所以需要将下一步操作放到上面的函数中,作为回调函数使用。node.js中有asyac方法让程序顺序执行
*3.特点:快、耗内存多
4.node.js vs php
优点:
01.性能高
02.开发效率高(优化的量少)
03.应用范围广(可以开发桌面系统:electorn框架)
缺点:
01.新、人少
02.中间件少
03.IDE不完善
5.node模块化开发和commonJS规范
01.模块引用
exports.add=function (num1,num2){
alert(num1+num2);
}//模块对外提供的接口,假设存放在add.js中
var obj=require("./add.js");//模块引用
// 赋值的意义在于,js中将仅能识别obj,因为这是已经定义的变量,并不能识别./add.js
obj.add(3,5);//正确的调用方法
02.模块定义
module对象:在每一个模块中,module对象代表该模块自身。
export属性:module对象的一个属性,它向外提供接口。
03.模块标识
模块标识指的是传递给require方法的参数,必须是符合小驼峰命名的字符串,或者以 . 或 … 开头的相对路径,或者绝对路径。
今天就到这儿吧!感谢观看!