NodeJs(一)

文章介绍了Node.js作为JavaScript服务端环境的角色,包括其内置模块如fs和http,以及包管理工具npm。还提到了版本切换工具nvm和n,以及Node.js的关键底层依赖如V8引擎和libuv。此外,文章概述了CommonJs模块化规范,并提及了内存调试和另一个JS引擎QuickJS。
摘要由CSDN通过智能技术生成

node.js初探

node.js是一个JS的服务端运行环境,简单的来说,他是在JS语言规范的基础上,封装了一些服务端的运行时对象,让我们能够简单实现非常多的业务功能。
如果我们只使用JS的话,实际上只是能进行一些简单的逻辑运算。node.js就是基于JS语法增加与操作系统之间的交互。
举例来说,JS因为可以在浏览器环境运行,所以包含了Dom,Bom对象,以方便对浏览器进行操作。同样的,node.js是JS的服务端运行环境,因此内置了一些fs(文件系统)、path(路径系统)、http(http服务器)等常用模块,以方便与操作系统之间进行交互。

1、node.js的安装

我们可以使用多种方式来安装node.js,node.js本质上是一种软件,我们可以使用直接下载二进制安装文件安装,通过系统包管理进行安装或者通过源码自行编译均可。
一般来讲,对于个人开发的电脑,我们推荐直接通过node.js官网(http://nodejs.cn/download/)的二进制安装文件来安装。对于打包上线的一些node.js环境,也可以通过二进制编译的形式来安装。
安装成功之后,我们的node命令就会自动加入我们的系统环境变量path中,我们能直接在全局任意位置,使用node命令访问到我们刚才安装的node可执行命令行工具

2、node.js版本切换

在个人电脑上,我们可以安装一些工具,对node.js版本进行切换,例如nvm和n。
nvm的全程就是node version manager,意思就是能够管理node版本的一个工具,它提供了一种直接通过shell执行的方式来进行安装。简单来说,就是通过将对各node版本安装在指定路径,然后通过nvm命令切换时,就会切换我们环境变量中node命令指定的实际执行的软件路径。
安装成功之后,我们就能在当前的操作系统中使用多个node.js版本。

3、node.js的包管理工具npm

我们对npm应该都比较熟悉了,它是node.js内置的一款工具,目的在于安装和发布符合node.js标准的模块,从而实现社区共建的目的繁荣整个社区。
npx是npm@5之后新增的一个命令,它使得我们可以在不安装模块到当前环境的前提下,使用一些cli功能。

4、node.js的底层依赖

node.js的主要依赖子模块有以下内容:

  • V8引擎:主要是Js语法的解析,有了它才能识别JS语法。
  • libuv:C语言实现的一个高性能异步非阻塞IO库,用来实现node.js的事件循环。
  • http-parser/llhttp:底层处理HTTP请求,处理报文、解析请求包等内容。
  • openssl:处理加密算法,各种框架运用广泛。
  • zlib:处理压缩等内容。

5、node.js常见内置模块

node.js中最主要的内容,就是实现了一套CommonJs的模块化规范,以及内置了一些常见的模块。

  • path:路径系统,能够处理路径之间的问题。
const path = require('path');

  • fs:文件系统,能够读取写入当前安装系统环境中硬盘的数据。
  • crypto:加密相关模块,能够以标准的加密方式对我们的内容进行加解密。
  • dns:处理dns相关内容,例如我们可以设置dns服务器等等。
  • readline:读入stdin的一行内容,可以读取、增加、删除我们命令行中的内容。
  • os:操作系统层面的一些api,例如告诉你当前系统类型及一些参数
  • vm:一个专门处理沙箱的虚拟机模块,底层主要来调用V8相关api进行的代码解析。

5、node.js CommonJs详解及源码解析

node.js周边工具简介及解析

1、node.js debug & 内存泄露

2、另一种Js解析引擎quickJs

3、另一类Js运行时服务端环境deno

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值