node.js概述
node.js介绍
相关网址:
Node.js 是一个开源与跨平台的JavaScript运行时环境。它是在浏览器外运行,它是一个事件驱动异步I/O单进程的服务端JS环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。它使用新的 ECMAScript标准,不必等待所有用户更新其浏览器,可以通过更改其版本来决定要使用新的标准特性。
注意:
浏览器是JS的前端运行环境。
Node.js是JS的后端运行环境,在后端中运行无法调用 DOM 和 BOM 等浏览器内置 API。
nodejs调用服务查看服务器相关api gulp基础node环境
node应用场景
创建应用服务
web开发(后端)
接口开发(小程序)
客户端应用工具gulp、webpack、vue脚手架、react脚手架、小程序
模块化
NodeJs基于Commonjs模块化开发的规范,它定义一个JS文件就称之为一个模块
commonJS 使用 exports 导出模块, require 导入模块。
只有将变量导出之后,其他文件才能能够使用。
1 //将模块进行导入 2 module.exports.time = time
具体规范如下:
1、如果 js 文件中存在 exports 或 require,该 js 文件 是一个模块。
2、模块内的所有代码均为 隐藏代码,包括 全局变量、全局函数,这些全局的内容 均不应该对全局变量造成污染。
3、如果一个模块需要暴露一些API给外部使用,需要通过exports 导出,exports 是一个空对象,你可以为该对象添加任何需要导出的内容。
4、如果一个模块需要导入其他模块,通过require 实现,require 是一个函数,传入模块的路径即可返回该模块导出的整个内容。
nodejs对commonJS的实现
为了实现CommonJS 规范, nodejs 对模块 做出了以下处理
1、为了保证高效的执行,进行加载必要的模块。nodejs 执行到require 函数时才会加载并执行。
2、为了隐藏模块中的代码,nodejs 执行模块时,会将模块中的所有放到一个函数中执行,以保证不污染全局变量。
3、为了保证顺利的导出模块内容,nodejs 做了以下处理:
1. 在模块开始执行前,初始化一个值 module.exports = {}
2.module.exports是模块导出之一
3.为了方便开发者便捷的导出,nodejs 在初始化 完成module.exports后,有声明了一个变量exports = module.exports
4.为了避免反复加载同一个模块,nodejs 默认开启了模块缓存功能,如果已经加载过的模块,则会自动使用之前的导出结果。
nodejs的模块类型
- 核心(内置)模块 - 安装nodejs自带的模块
- 第三方模块 - 需要手动通过(npm/yarn)来进行安装
- 自定义模块 - 开发者自己编写开发
modelue.exports/export //导出 require(模块名称) //导入
nodejs的安装
nodejs环境安装非常便捷,直接可通过官网地址,下载对应的安装软件包即可安装使用。
如果在工作中有多个node环境的切换,可以安装ndoe环境管理工具NVM:https://github.com/coreybutler/nvm-windows/releases
nvm可以让你的电脑中有N多个node版本。

浙公网安备 33010602011771号