安装nodejs:NodeJS、NPM安装配置步骤(windows版本)
一.nodeJs是什么?
JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document
之类的内置对象。而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs
、http
等内置对象。
简洁点:可以运行在后端的JavaScript,使用JavaScript 来开发。
二.为什么它能够在后端运行呢?
这就得归功于V8引擎(V8是Google Chrome浏览器的JavaScript引擎),通过对高性能V8引擎的封装,并通过一系列优化的API类库,使其就能够在后端运行了。
三.为什么要用 Node.js
既然 PHP、Python、Java 都可以用来进行后端开发,为什么还要去学习 Node.js?在什么场景下,选择 Node.js 更合适。
总的来说,Node.js 适合以下场景:
1.实时性应用,比如在线多人协作工具,网页聊天应用等。
2.以 I/O 为主的高并发应用,比如为客户端提供 API,读取数据库。
3.流式应用,比如客户端经常上传文件。
4.前后端分离。
实际上前两者可以归结为一种,即客户端广泛使用长连接,虽然并发数较高,但其中大部分是空闲连接。
Node.js 也有它的局限性,它并不适合 CPU 密集型的任务,比如人工智能方面的计算,视频、图片的处理等。
当然,以上缺点不是信口开河,或者死记硬背,更不是人云亦云,需要我们对 Node.js 的原理有一定的了解,才能做出正确的判断。
四.NodeJs特点
1.它是一个Javascript运行环境
2.依赖于chrome V8引擎进行代码解释
3.事件驱动
4.非阻塞I/O
5.轻量,可伸缩,适于实时数据交互应用
6.单进程,单线程
五.起一个web服务器
nodeJS的运用规则:
1.通过request将HTTP库包含到程序中
2.创建新的http服务器(调用引入的HTTP模块的一个工厂模式方法(createServer)来创建一个新的http服务器)
3.通过request事件响应request请求
注意http.createServer([requestListener])方法:
http.createServer([requestListener])用来创建一个HTTP服务器,
并将 requestListener 作为 request 事件的监听函数。
语法:
由于该方法属于http模块,使用前需要引入http模块(var http= require(“http”) )
接收参数:
requestListener 请求处理函数,自动添加到 request 事件,函数传递两个参数:
①req 请求对象,想知道req有哪些属性,可以查看 “http.request 属性整合”。
(如请求那个url地址过来;请求类型是get还是post)
②res 响应对象 ,收到请求后要做出的响应。想知道res有哪些属性,可以查看 “http.response属性整合”。
eg:在f:中创建demo_node文件
建main.js文件
//1.通过require将http库包含到程序中
var http = require('http');
//2.创建新的HTTP服务器
var server = http.createServer();
//通过request事件来响应request请求
server.on('request',function(req, res){
res.writeHead(200, {'Content-Type':'text/plain'});
res.end('Hello World\n');
});
server.listen(1337,'127.0.0.1');//监听的端口号1337
console.log('Server running!');
好了,开启nodeJS交互环境,运行该js文件,我的命名是main.js。
这样http服务器就启好了,接下来我们再打开网页,输入http://127.0.0.1:1337,看看效果