Node.js概述

简介: Node.js概述
  1. Node.js简介
    Node.js是一个基于Chrome V8引擎的JavaScript运行环境。

地址:Node.js 中文网

1.1 Node.js中的JavaScript运行环境
(1)浏览器是JavaScript的前端运行环境

(2)Node.js是JavaScript的后端运行环境

(3)Node.js中无法调用DOM和BOM等浏览器内置的API

1.2 Node.js的下载与安装
(1)Node.js的下载

下载 Node.js

(2)Node.js的安装

双击默认安装

(3)查看已安装Node.js的版本号

node -v

  1. 模块化
    模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。

2.1 模块分类
Node.js中根据模块来源不同,将模块分为三大类:

(1)内置模块

内置模块是由Node.js官方提供的,例如fs、path、http等。

(2)自定义模块

用户创建的每个.js文件,都是自定义模块。

(3)第三方模块(又称为:包)

由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载。

2.2 模块加载
使用require() 方法,可以加载需要的内置模块、用户自定义模块、第三方模块进行使用。


注意:使用 require() 方法加载其它模块时,会执行被加载模块中的代码。

2.3 module对象
在每个 .js 自定义模块中都有一个 module 对象,它里面存储了和当前模块有关的信息,打印如下:

2.4 module.exports对象
在自定义模块中,可以使用 module.exports对象,将模块内的成员共享出去,供外界使用。

外界用require()方法导入自定义模块时,得到的就是module.exports所指向的对象。

2.5 exports对象
由于module.exports单词写起来比较复杂,为了简化向外共享成员的代码,Node提供了exports对象。默认情况下,exports和module.exports指向同一个对象(只是初始状态,如果exports或module.exports指向发生改变,则指向不同步)。最终共享的结果,还是以module.exports指向的对象为准。

注意:为了防止混乱,建议大家不要在同一个模块中同时使用exports和module.exports

2.6 CommonJS模块化规范
Node.js遵循了CommonJS模块化规范,CommonJS规定了模块的特性和各模块之间如何相互依赖。

CommonJS规定:

(1)每个模块内部,module变量代表当前模块。

(2)module变量是一个对象,它的exports属性(即module.exports)是对外的接口。

(3)加载某个模块,其实是加载该模块的module.exports属性。require()方法用于加载模块。

  1. 内置API模块
    3.1 fs文件系统模块
    fs模块是Node.js官方提供的、用来操作文件的模块,它提供了一系列的方法和属性,用来满足用户对文件的操作需求。

fs.readFile(...) // 读取

fs.writeFile(...) // 写入
3.2 http模块
http模块是Node.js官方提供的、用来创建web服务器的模块。

// 创建web服务器

http.createServer()
3.3 path路径模块
path模块是Node.js官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。

(1)path.join() 方法

用来将多个路径片段拼接成一个完整的路径字符串

相关文章
|
2月前
|
JavaScript
Nodejs的模块化概述
详细解释Node.js的模块化概念,包括CommonJS规范、模块的引用、定义、标识,以及如何在Node.js中实现模块化,并通过示例代码展示了如何创建和使用模块,以及"module.exports"和"exports"的区别。
28 1
Nodejs的模块化概述
|
5月前
|
JavaScript 前端开发 开发者
JavaScript数据类型概述及Undefined与Null详解
JavaScript数据类型概述及Undefined与Null详解
N..
|
6月前
|
JavaScript 前端开发 API
Vue.js概述
Vue.js概述
N..
68 2
|
6月前
|
存储 XML 前端开发
编程笔记 html5&css&js 036 CSS概述
编程笔记 html5&css&js 036 CSS概述
|
6月前
|
数据采集 JavaScript 前端开发
Vue Nuxt.js 概述
Vue Nuxt.js 概述
104 0
|
存储 JavaScript 前端开发
【js】函数概述学习笔记(8)
【js】函数概述学习笔记(8)
41 0
|
Web App开发 JavaScript 前端开发
Node.js -- Node.js概述与安装和运行
Node.js -- Node.js概述与安装和运行
|
JavaScript 前端开发 数据库
Node.js 阻塞与非阻塞概述
Node.js 阻塞与非阻塞概述
|
XML 缓存 JavaScript
JavaScript-JavaScript概述及简单使用
JavaScript-JavaScript概述及简单使用
108 0
|
Web App开发 JavaScript 开发工具
零基础html5+div+css+js网页开发教程#001网页开发概述
零基础html5+div+css+js网页开发教程#001网页开发概述