Node.js是什么
- Node.js不是一门语言
- Node.js不是库,不是框架
- Node.js是一个JavaScript运行时的环境
- 简单点说Node.js可以解析执行JavaScript代码
- 也就是说现在的JavaScript可以完全脱离浏览器来运行,一切归功于Node.js
- 构建于Chrome的V8引擎之上
(1)代码只是具有特定格式的字符串而已
(2)引擎可以认识它,解析和执行JavaScript
(3)Google Chrome 的 V8 引擎目前是公认解析执行JavaScript代码最快的
(4) Node.js作者把 Google Chrome 中的V8引擎移植了出来,开发了独立的JavaScript运行时环境
浏览器中的JavaScript
(1)ECMAScript
- 基本的语法
- if
- var
- function
- Object
- Arrray
(2)BOM
(3)DOM
Node.js中的javaScript
- 没有BOM和DOM,因为服务端不操作页面
- 有ECMAScript
- 在Node.js执行环境中为JavaScript提供了一些服务器操作的API
(1)例如文件读写
(2)网络服务的构建
(3)网络通信
(4) http服务器
(5)等处理…
最简单的http服务:
/1、加载http 核心模块
var http = require('http');
//2、使用http.createServer()方法创建一个Web 服务器
// 返回一个Service实例
var server = http.createServer();
//3、服务器要干嘛?
//提供服务:对数据的服务
//发请求
//接收请求
//处理请求
//给个反馈(发送响应)
//注册request请求事件,当客户端请求过来,就会自动触发服务器的request 请求事件,然后执行第二个参数:回调处理
server.on('request',function (){
console.log('收到客户端的请求了');
});
//4、绑定端口号,启动服务器
//设置端口号:3000
server.listen(3000,function (){
console.log('服务器启动成功,可以通过http://127.0.0.1:3000/ 来进行访问')
});
Node.js的特性
- 使用事件驱动
- 非阻塞IO模型(异步)
- 轻量和高效
什么是npm
- npm是世界上最大的开源库生态系统。
- 绝大多数JavaScript相关的包都存放在npm上,这样做的目的是让开发人员更方便的去下载使用
- npm install jquery
Node.js能做什么
-
Web服务器后台
-
命令行工具
(1) npm(node)
(2) git(c语言)
(3) hexo(node)
(4) … -
对于前端开发工程师来讲,接触Node最多的是它的命令行工具
(1)自己写的很少
(2)webpack
(3)gulp
(4)npm
学Node.js需要哪些预备知识
- HTML
- CSS
- JavaScript
- 简单的命令行操作
(1)cd
(2)dir 列出目录
(3)Is 列出目录
(4)mkdir
(5)rm - 具有服务端开发经验更佳
学习资源
- 《深入浅出Node.js》 ——偏理论,偏底层,几乎没有实战内容,理解原理底层有帮助。
- 《Node.js权威指南》 ——API讲解
- JavaScript标准参考教程:https://javascript.ruanyifeng.com/
- Node入门:http://www.nodebeginner.org/dist/latest-v6/docs/api
- 中文文档:http://www.nodeclass.com/api/node.html
- CNODE社区:http://cnodejs.org
- CNODE-新手入门:http://cnodejs.org/getstart