前言:很多人开始接触node的时候不知道node是什么,没有一个对node的清晰理解。总认为node就是前端编写后台,基于javascript只上的一门语言。那就大错特错了,下面是我总结的node用来干嘛的,node是什么
node.js构建于Chrome V8引擎之上
Chrome V8引擎是世界上目前公认解析执行javasript代码最快的
node.js不是库、不是框架、不是一门语言,是一个javascript运行时环境,简单来说node.js能够解析和执行javascript代码。
在很早之前javascript只能依赖于浏览器来执行,然后有了node.js的出现使javascript可以完全的脱离浏览器来运行,一切都归功于:node.js
node.js中不存在BOM和DOM,只具有ECMAScript语法,服务端不渲染处理页面。node.js做为js的服务端语言,所以node.js运行环境中为javascript提供了一些服务器级别的操作API。
例如:文件的读写,网络服务的构建,数据网络通信,http服务器等处理
node.js特性:事件驱动 非阻塞IO模型 (异步)
npm是基于node.js开发的一个包管理命令,npm是世界上最大的开源库生态系统。绝大多数javascript相关的包都存放在了npm上,这样可以使开发人员更方便的下载使用。
浏览器中的javascript是没有文件操作的能力,但是node中的javascript是具有操作文件的能力,node是面向服务端的
Web服务器后台
命令行工具:npm,git,composer,hexo
对于前段开发工程师来讲,接触node最多的就是他的命令行工具,自己写的很少,主要使用别人第三方的
例:webpack 、 gulp 、npm
node官网:https://nodejs.org 选择长期支持版下载,安装就像安装微信,QQ软件一样,下一步就行。
安装完成后打开命令行windows+r 输入cmd回车,如下图所示:
查看是否安装成功输入node -v 出现版本号则表示安装成功 npm -v 表示npm是node开源库的版本
创建一个简单的服务,使用node构建一个web服务器
let http = require('http'); // 引入node中http模块
// 使用http.createServer()方法创建一个web服务器
let server = http.createServer();
// 监听客户端发送的请求
server.on('request',function(request,response){
console.log('收到客户端的请求了');
// 发送响应数据
response.write('接收到客户端请求的地址:'+request.url);
// 相应数据发送完毕
response.end();
})
// 绑定服务端口
server.listen(3000,function(){
console.log('服务器启动成功,可以通过http://127.0.0.1:3000/ 来进行访问')
});
打开浏览器输入地址http://127.0.0.1:3000
解决乱码问题,设置响应头编码
let http = require('http'); // 引入node中http模块
// 使用http.createServer()方法创建一个web服务器
let server = http.createServer();
// 监听客户端发送的请求
server.on('request',function(request,response){
console.log('收到客户端的请求了');
// 响应数据字符编码格式设置
response.setHeader('Content-Type','text/plain;charset=utf-8');
// 发送响应数据
response.write('接收到客户端请求的地址:'+request.url);
// 相应数据发送完毕
response.end();
})
// 绑定服务端口
server.listen(3000,function(){
console.log('服务器启动成功,可以通过http://127.0.0.1:3000/ 来进行访问')
});