NodeJS简介 1. 什么是Node.js?

Node.js是一个基于“Chrome V8引擎”的JavaScript“运行环境”。

2、什么是V8发动机?

V8 引擎是一个解释和执行 JavaScript 代码的虚拟机。 任何程序只要集成了V8引擎就可以执行JavaScript代码。 浏览器集成V8引擎,可执行JavaScript代码; 如果NodeJS中嵌入了V8引擎,那么我们写的JavaScript代码就会被NodeJS执行。

3、运行环境是什么?

经营环境就是生存环境。

地球是人类的生存环境,浏览器是网页的生存环境,windows是.exe应用程序的生存环境,Android是.apk应用程序的生存环境。 也就是说,运行环境是具体事物的生存环境。

NodeJS也是一个生活环境。 由于 V8 引擎集成在 NodeJS 中,因此 NodeJS 是 JavaScript 应用程序的生存环境。

简而言之,NodeJS 不是一种编程语言,NodeJS 是一个运行时环境。 因为这个运行环境集成了V8引擎,JavaScript代码可以在这个运行环境中运行。 这个运行环境最大的特点是它提供了可以操作“操作系统底层”的API。 通过这些底层API,我们可以编写出在网页中无法实现的功能,比如打包工具、Web服务器等等。

搭建NodeJS运行环境

如何搭建NodeJS运行环境? 有2种常见的方式。

A。 施工方法一:

1、从NodeJS官网下载.msi安装包。

2.整个过程的下一步。 3、在cmd命令行工具中输入node -v,回车。 如果看到版本号,则表示已安装 NodeJS。

全局map变量怎么初始化_node全局变量_vue 全局引用js变量

b. 施工方法二:

1、下载nvm-windows,选择nvm-noinstall.zip进行下载。

2、新建文件夹,例如在C盘新建一个文件夹,重命名为Dev。

3.在Dev中创建NVM和Node两个子目录,将nvm-noinstall.zip包解压到NVM目录下。

4、选中install.cmd文件右键选择【以管理员身份运行】,在终端直接回车,将弹出的文件settings.txt保存到NVM目录下。

5、打开settings.txt文件,修改如下: root: C:DevNVMpath: C:DevNode

6、配置环境变量: NVM_HOME: C:Dev NVM NVM_SYMLINK: C:DevNode Path添加%NVM_HOME%和%NVM_SYMLINK%

7、在cmd命令行工具中输入nvm version回车,有版本号说明已经安装。

node全局变量_全局map变量怎么初始化_vue 全局引用js变量

NVM常用命令:

nvm list 查看当前安装的所有Node.js版本

nvm install version number 安装指定版本的Node.js

nvm uninstall version number 卸载指定版本的Node.js

nvm use version number 选择指定版本的Node.js

NodeJS 执行 JS 代码

浏览器和NodeJS都集成了V8引擎(注:V8引擎是JavaScript引擎之一,常见的JavaScript引擎有SpiderMonkey、JaegerMonkey、Carakan、Nitro、KJS等)。 浏览器和NodeJS是如何执行JS代码的?

浏览器执行 JavaScript 的方式:

A。 JS代码可以直接在浏览器控制台执行。

b. JS文件中的JS代码可以在浏览器中执行。

NodeJS 执行 JavaScript 的方式:

A。 您可以直接在命令行工具(REPL——Read Eval Print Loop:交互式解释器)中编写和执行 JS 代码。 在cmd命令行输入node,回车进入REPL环境。

全局map变量怎么初始化_node全局变量_vue 全局引用js变量

b. JS文件中的JS代码可以在命令行工具中执行。

全局map变量怎么初始化_vue 全局引用js变量_node全局变量

全局map变量怎么初始化_vue 全局引用js变量_node全局变量

NodeJS环境和浏览器环境执行JS代码的区别

NodeJS环境和浏览器环境一样,都是JS运行环境,都可以执行JS代码。 但由于宿主不同,其特点也不同。

1.内置对象不同

全局对象window是在浏览器环境下提供的,但是NodeJS环境下的全局对象不叫window,而是global。

2.this默认为不同的

浏览器环境下的全局this默认指向window,NodeJS环境下的全局this默认指向空对象{}。

3.不同的API

浏览器环境提供操作节点的DOM相关API和操作浏览器的BOM相关API。 NodeJS 环境中没有 HTML 节点和浏览器,因此 NodeJS 环境中没有 DOM/BOM。

NodeJS 全局属性和方法

和浏览器一样,NodeJS环境中的全局对象也提供了很多属性和方法供我们使用。

例如:

__dirname:当前文件所在文件夹的绝对路径

__filename:当前文件的绝对路径

setInterval / clearInterval:与浏览器中窗口对象上的定时器相同

setTimeout / clearTimeout :与浏览器中窗口对象上的计时器相同

console :与浏览器中 window 对象上的打印功能相同

NodeJS 自定义模块 什么是模块? 1. 浏览器开发中的模块

在浏览器开发中,为了避免命名冲突,方便维护等,我们使用类或者立即执行函数来封装JS代码node全局变量,避免命名冲突,提高代码可维护性。 其实这里的一个类或者一个立即执行的函数,在浏览器开发中就是一个模块。

例如:let obj = {模块中的业务逻辑代码}; (function(){模块中的业务逻辑代码; window.xxx = xxx; })();

2. NodeJS开发中的模块

NodeJS 使用 CommonJS 规范实现了一个模块系统。 CommonJS规范规定了如何定义一个模块,如何暴露(导出)模块中的变量和函数,以及如何使用定义好的模块。

– 文件是 CommonJS 规范中的模块

– 在CommonJS规范中,每个文件中的变量函数都是私有的,对其他文件不可见

– CommonJS规范中,每个文件中的变量函数必须通过exports暴露(导出),其他文件才能使用

– 在CommonJS规范中,想要被其他文件暴露的变量函数必须通过require()导入后才能使用

NodeJS模块导出数据的几种方式

在 NodeJS 的模块中导出变量函数的方式有以下三种。

1.导出通过exports.xxx=xxx 2.导出通过module.exports.xxx=xxx 3.导出通过global.xxx=xxx

注意: 无论使用哪种方式导出,都需要导入(require)后才能使用。 b. 通过 global.xxx 导出不符合 CommonJS 规范,不推荐使用。

exports 和 module.exports 的区别

exports只能通过exports.xxx导出数据,不能直接赋值。

module.exports不仅可以通过module.exports.xxx导出数据,还可以直接赋值。

但是在实际开发中,不管是哪种方式导出,都不要直接赋值。

NodeJS-Require 注意点 1. require 导入模块时,可以不添加导入模块的类型

如果不指定导入模块类型,则依次查找.js .json .node文件。 无论是三种类型中的哪一种,导入后都会转化为JS对象返回给我们。

2.导入自定义模块时必须指定路径

require 可以导入“自定义模块(文件模块)”、“系统模块(核心模块)”、“第三方模块”。 导入“自定义模块”模块时必须在路径前面。 导入“系统模块”和“第三方模块”不需要添加路径,因为“系统模块”直接在环境变量配置的路径中查找,“第三方模块”是根据路径依次查找在 module.paths 数组中。

NodeJS包及包管理介绍 1.什么是包?

写代码的时候尽量遵循单一原则。 一个函数试图只做一件事。 比如:读数据函数/写数据函数/生成随机数函数等,没有读数据、写数据和生成随机数的函数,所以代码容易出错,难以维护。

模块化开发也是如此,尽量在一个模块(一个文件)中只完成一个特定的功能。 但是一些比较复杂的功能可能需要由多个模块组成,比如:jQuery选择器相关的代码在模块A,CSS相关的代码在模块B……我们需要将这些模块组合在一起才能完成查询。 那么这个时候我们就需要一些东西来维护多个模块之间的关系。 维护多个模块之间关系的东西就是“包”。

简单理解:一个模块就是一个文件,一个包中可以有一个或多个模块。

2.NodeJS包管理

为了方便开发者发布、安装和管理包,NodeJS推出了包管理工具NPM(Node Package Manager)。 npm不需要我们单独安装,只要搭建好NodeJS环境,就会自动安装。 NPM相当于电脑上的“软件助手”。 通过npm,我们可以快速的找到并安装我们需要的包,快速的删除我们不需要的包。

NodeJS-NPM使用1.NPM包安装方式

npm包安装分为全局安装和本地安装。 这两种方法有什么区别? 不同的是安装包的位置不同。

全局安装的包存放在全局的node_modules中,可以在同一台电脑的任何地方使用,一般用于安装全局使用的工具。

本地安装的包存放在当前项目的node_modules中,只能在当前项目下使用,一般用于安装当前项目使用的包。

全局安装说明:

npm install -g 包名(默认安装最新版本)

npm uninstall -g 包名

npm update -g 包名(更新失败可以直接使用install)

2.初始化本地包初始化命令:

npm init -> 初始化 package.json 文件 npm init -y -> 初始化 package.json 文件

包描述文件package.json定义了当前项目所需的各种模块,以及项目配置信息(如名称、版本、许可证等元数据)。 npm install命令会根据这个配置文件自动下载需要的模块,即配置项目所需的运行和开发环境。

因此,在将项目复制给别人或发布时node全局变量,我们不需要将所有的包都复制给别人,因为文件太大不利于部署。 我们只需要复制package.json,npm就会使用这个包。 json 文件下载所需的包。 请注意,不能向 package.json 文件添加注释。

vue 全局引用js变量_node全局变量_全局map变量怎么初始化

– dependencies: 生产环境使用的包的依赖,通常是包的稳定长期支持版本,由包名和版本号组成的关联数组

– devDependencies: 开发环境中使用的包的依赖关系,通常是开发中的包或者最新版本,由包的名称和版本号组成的关联数组

本地安装说明:

vue 全局引用js变量_全局map变量怎么初始化_node全局变量

有些包可能只在项目开发阶段需要,在项目上线阶段不需要,所以需要单独指定:

全局map变量怎么初始化_node全局变量_vue 全局引用js变量

npm install 和 npm install –development 会安装 dependencies 和 devDependencies 中的包,即会安装所有的包。 npm install –production 只会安装依赖项中的包。

NodeJS-NRM使用 1.什么是nrm?

由于npm默认会去国外下载资源,国内开发者下载会比较慢。 有人写了一个nrm工具,可以把国外的资源下载地址切换到国内,提高下载包的速度。

2. NRM指令

A。 安装 NRM:npm install -g nrm

b. 检查是否安装成功:nrm –version

node全局变量_vue 全局引用js变量_全局map变量怎么初始化

可以看到版本号,说明安装成功。

C。 查看允许切换的资源地址:nrm ls

带*号的为当前使用的来源(下载地址)。

d. 切换源:nrm 使用淘宝

淘宝资源地址和国外地址内容完全同步。 淘宝镜像与官网的同步频率目前为每10分钟一次,尽可能保证与官网同步。