Node.js 是基于 “ Chrome V8 引擎 ” 的 JavaScript 运行环境
V8 引擎是一款专门解释和执行 JS 代码的虚拟机,任何程序只要集成了 V8 引擎都可以执行 JS
NodeJS 不是一门编程语言,NodeJS 是一个运行环境 ,由于这个运行环境集成了 V8 引擎,所以在这个运行环境下可以运行我们编写的JS代码。
这个运行环境最大的特点就是提供了操作 " 操作系统底层的API " ,通过这些底层 API 我们可以编写出网页中无法实现的功能 ( 诸如: 打包工具, 网站服务器等 )
官网下载.msi安装包: https://nodejs.org/zh-cn/
全程下一步
在命令行工具中输入 node -v
官网下载.zip安装包: https://nodejs.org/zh-cn/
解压下载好的安装包
在"高级系统设置"中手动配置环境变量 4.在命令行工具中输入 node -v
下载NVM: https://github.com/coreybutler/nvm-windows
在 D 盘创建 dev 目录
在 Dev 目录中创建两个子目录 nvm 和 nodejs , 并且把 nvm 包解压进去 nvm 目录中
在 install.cmd 文件上面右键选择【以管理员身份运行】 - 在终端中直接按下回车 - 将弹出的文件另存为到 NVM 目录
打开 settings.txt 文件点击修改
root: D:\Developer\Dev\NVM
path: D:\Developer\Dev\Node
6. 配置环境变量
NVM_HOME: D:\xxx\Dev\NVM
NVM_SYMLINK: D:\xxx\Dev\Node
在Path中添加 %NVM_HOME% %NVM_SYMLINK%
7. 在命令行工具中输入 nvm version
NodeJS环境和浏览器环境一样都是一个JS的运行环境, 都可以执行JS代码. 但是由于宿主不同所以特点也有所不同
1. 内置对象不同
2. this 默认指向不同
3. API 不同
和浏览器一样 Node 环境中的全局对象也提供了很多方法属性供我们使用 中文文档地址: http://nodejs.cn/api/
__dirname: 当前文件所在文件夹的绝对路径
__filename: 当前文件的绝对路径
setInterval / clearInterval : 和浏览器中window对象上的定时器一样
setTimeout / clearTimeout : 和浏览器中window对象上的定时器一样
console : 和浏览器中window对象上的打印函数一样
在 NodeJS 中想要导出模块中的变量函数有三种方式
这个在我们 JS 逆向的时候经常使用到,只要将加密的 JS 补全并将返回的变量导出出来就可以在其他的 JS 中 require 模块后直接使用了。
通过exports.xxx = xxx导出
通过module.exports.xxx = xxx导出
通过global.xxx = xxx导出
注意:不管使用那种方法导出,在使用的时候需要 require 模块后才能使用,通过global.xxx 方式导出不符合 CommonJS 规范, 不推荐使用
1、require 导入模块时可以不添加导入模块的类型
如果没有指定导入模块的类型, 那么会依次查找.js .json .node
文件无论是三种类型中的哪一种, 导入之后都会转换成 JS 对象返回给我们
2、导入自定义模块时必须指定路径
require 可以导入自定义模块(文件模块)
、系统模块(核心模块)
、第三方模块
自定义模块
模块时前面必须加上路径(这就是为什么很多新手导入自己写的模块时出错的原因)系统模块
和第三方模块
是不用添加路径3、导入系统模块
和第三方模块
是不用添加路径的原因
系统模块
直接到环境变量配置的路径中查找第三方模块
会按照 module.paths
数组中的路径依次查找
原文:https://www.cnblogs.com/llbky/p/13816129.html