node.js概述

node.js介绍

相关网址:

https://nodejs.org/zh-cn/

http://nodejs.cn/

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版本。

posted @ 2021-01-11 14:10  小小的少年  阅读(115)  评论(0)    收藏  举报