Node介绍——什么是Node?

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

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请求静态服务器

var http=require("http");//http是node中自带的对象,利用require导入
	http.createServer(function(request,response){
		response.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
		console.log("访问");
		response.write("hello world");
		response.end("你好,世界!");
	}).listen(8000);
	console.log("Server running at http://127.0.0.1:8000/");
6.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方法的参数,必须是符合小驼峰命名的字符串,或者以 . 或 … 开头的相对路径,或者绝对路径。

猜你喜欢

转载自blog.csdn.net/weixin_42940821/article/details/88288050