为什么要学习node.js
1、在项目中前端程序员,必须和后端程序员的配合、JavaScript语言在Web前端开发中至关重要,特别html5的应用必须要使用,所以前后台统一语言,不仅可以实现程序员的全栈开发,还可以统一公共类库,代码标准化。那么node是什么呢? 官方解释为 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。
上面的概念中有两个特殊的名词,解释如下:
chrome V8引擎 : chrome浏览器用来解析和执行js代码的工具
运行时: 理解为一个容器,用来运行代码的环境
说人话 ,对Node.js更通俗的解释是,一个用chrome浏览器V8引擎来跑JS代码的环境。
Node.js的学习内容
它只是一个环境,不是一门语言(不需要学习新语言),我们要学习它的两个内容: 模块系统, npm包管理工具。
模块系统。能用不同的模块来完成不同的功能,例如:创建web服务器,写接口,连接操作数据库
模块系统分为三个模块:
1.Node.js的内置模块 2.自定义模块 3.外部模块
下载安装Node.js
下载进入官网 :Node.js中文网 nodejs.cn/
Node.js英文网:nodejs.org/
版本说明 : -
LTS: 长期稳定版(Long Term Support))。 项目开发建议使用长期稳定版
Current: 最新版。最新版包含了一些新功能,如果想学习最新的功能,则可以使用该版本。最新版可能会有一些未知的bug。
检测是否下载安装成功?
window键 + R cmd窗口 输入node -v 查看到版本号说明下载安装成功
Node.js 和浏览器的区别
在浏览器端 :js由三部分组成:ECMAScript + BOM + DOM
es6 就是ECMAScript 6.0的简写,也泛指其之后的所有版本
ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。是javascript语言的一个标准。它约定了:如何定义变量,函数,运算,数组,内置对象等等。
在Node.js端:
有ECMAScript + 内置模块(fs, http, path,.....)。在nodejs中是没有BOM、DOM、window,但使用ECMAScript是通用的
区别
相同点: 1.都是可以运行js代码的容器,严格来说:都可以运行ECMAScript 2.要下载安装才能使用
不同点
1.各有不同的API:nodejs运行js时,不能写DOM,BOM,也不能用window对象了
2.Node.js环境可以去实现后端的功能
3.浏览器环境可以去实现前端的功能
nodejs中的模块分内
每个模块都是一个独立的文件。每个模块都可以完成特定的功能,我们需要时就去引入它们,并调用。
nodejs模块的分类:
- 核心模块
-
- 就是nodejs自带的模块,在安装完nodejs之后,就可以任意使用
- 相当于学习js时使用的Array对象
- 自定义模块
-
- 程序员自己写的模块
- 相当于我们在学习js时的自定义函数。
- 第三方模块
-
- 其他程序员写好的模块。nodejs生态提供了一个专门的工具npm来管理第三方模块,后面我们会专门讲到。
- 相当于别人写好的函数或者库。例如我们前面学习的axios, JQuery库,artTemplate等。
理解核心模块
核心模块就是Node 内置的模块,需要通过唯一的标识名称来进行获取。
每一个核心模块基本上都是暴露了一个对象,里面包含一些方法,供我们使用,
一般在加载核心模块的时候,变量或者常量的起名最好就是我们核心模块的名字 例如
const fs = require('fs') console.log(fs)