当前位置: 首页 > news >正文

Node.js简介(nvm使用)

Node.js是一个基于Chrome V8 JavaScript引擎构建的开源、跨平台JavaScript运行环境。它允许开发者在服务器端运行JavaScript代码,从而实现前后端统一的开发语言。Node.js具有事件驱动、非阻塞I/O模型,使其非常适合于构建高性能的网络应用。

Node.js不是编程语言,Node.js是一个JS运行时,类似于Java的JRE(Java Runtime Environment),它提供了API环境、运行环境,能够让JS代码可以在服务端运行。换句话说,JS是脚本语言,脚本语言都需要一个解析器才能运行,对于HTML中的JS,浏览器充当了这个解析器,而对于需要独立运行的JS,Node.js就是一个解析器。同时Node.js还提供了可以对文件系统、网络等进行操作的API,允许使用JS和一系列的模块(Node.js大部分基本模块都是用JavaScript语言编写)来编写服务端应用和网络相关的应用,如web服务器。在Node.js出现之前,JavaScript通常作为客户端程序设计语言使用,以JS写出的程序往往在用户的浏览器上运行,Node.js的出现使得JS能够用于服务端编程。

优点

  1. 高性能和可扩展性:Node.js采用事件驱动和非阻塞I/O模型,这使得它能够处理大量并发连接,而不需要为每个连接创建一个新的线程。V8引擎的高效性能使得Node.js能够快速执行JavaScript代码。

  2. 统一的开发语言:使用JavaScript进行前后端开发,减少了开发者需要学习的语言数量,简化了开发过程。

  3. 丰富的生态系统:Node.js拥有庞大的包管理系统npm,提供了大量的模块和库供开发者使用,极大地提高了开发效率。

  4. 轻量级和灵活性:Node.js的模块系统使得应用程序可以按需加载模块,保持轻量级,并且容易进行扩展。

缺点

  1. 单线程限制:尽管Node.js通过异步编程来处理并发,但它本质上是单线程的,这可能会在处理CPU密集型任务时造成瓶颈。

  2. 回调地狱:由于Node.js大量使用回调函数,代码可能会变得难以维护和阅读,尤其是在嵌套多个回调时。

  3. 不适合CPU密集型应用:Node.js更适合I/O密集型应用,而不是需要大量计算的任务。

使用场景

  1. 实时应用:例如聊天应用和在线游戏,Node.js的事件驱动模型非常适合处理实时数据。

  2. 数据流应用:如视频流或音频流应用,Node.js可以有效处理数据流。

  3. API服务:Node.js可以快速构建RESTful API,因为它能够高效处理HTTP请求。

  4. 微服务架构:由于其轻量级和快速启动特性,Node.js非常适合构建微服务。

  5. 服务器端应用:适用于需要处理大量并发请求的服务器端应用,如代理服务器。

脚本语言是一种编程语言,通常用于编写短小的程序(脚本),以自动执行任务、处理数据或控制其他软件和系统。这些语言通常具有以下特点:

  1. 解释执行:脚本语言一般是解释执行的,而不是编译执行的。这意味着代码在需要的时候由解释器逐行执行,而不是提前编译为机器代码。

  2. 简单易用:脚本语言通常具有简洁的语法,易于学习和使用,适合快速开发。

  3. 动态类型:多数脚本语言是动态类型的,变量类型可以在运行时决定。

  4. 适合集成:脚本语言通常用于集成和控制其他软件应用,比如系统工具、数据库、网页浏览器等。

npm是Node.js的默认包管理工具,用于安装、管理和共享JavaScript库和应用程序:

  1. 安装和管理包:开发者可以使用npm来安装和管理项目依赖的第三方包。

  2. 版本管理:npm可以管理包的版本,确保项目使用正确的版本。

  3. 发布和共享:开发者可以通过npm发布自己的包,并与社区共享。

  4. 脚本运行:npm可以运行自定义脚本,帮助开发者自动化各种任务。

npm通常与Node.js一起安装,当你安装Node.js时,npm也会被安装在系统中

node 环境的安装,官网下在安装包,直接装在你的电脑操作系统内部,需要通过 命令行 来打开node

npm是Node.js生态系统的重要组成部分,提供了一个庞大的开源模块库,帮助开发者快速构建和扩展应用。

npm的包库包含了数百万个包,涵盖了各种功能和工具,极大地丰富了Node.js的开发能力。npm通过package.json文件管理项目的依赖关系,开发者可以定义项目需要的包及其版本。

Node.js和npm的结合使得JavaScript开发不仅限于浏览器端,也可以在服务器端进行,从而实现全栈开发。npm作为Node.js的包管理工具,极大地简化了模块的安装和管理过程,促进了Node.js社区的发展和壮大。

node版本:

1.Node.js的版本发布遵循固定的时间表,通常每年会发布两个主要版本,一个在4月份作为Current版本,另一个在10月份作为LTS版本。每个版本的支持周期如下:

  • Current版本:从发布之日起的6个月内处于Current状态,然后转为LTS版本。

  • LTS版本(偶数通常是LTS):从转为LTS版本开始,有18个月的活跃支持期,随后进入12个月的维护支持期。

  • Maintenance(维护版):维护版是已经过了活跃支持期的LTS版本,主要接收安全更新和关键修复。

2.nvm(Node Version Manager):一个流行的Node.js版本管理工具,允许开发者在同一系统上安装和切换不同版本的Node.js。

用户可以轻松切换到所需的Node.js版本,无需重新安装,通过nvm,开发者可以在不同项目中使用不同的Node.js版本和npm包,不会相互干扰。

nvm安装:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

安装最新版本的Node.js:npm install node

安装特定版本的Node.js:npm install 14.17.0

切换到特定版本:nvm use 14.17.0

设置默认版本:nvm alias default 14.17.0

列出所有已安装的Node.js版本:nvm ls

卸载指定版本:nvm uninstall 14.17.0

相关文章:

  • docker-compose搭建kafka
  • Git Flow分支模型
  • L2-2、示范教学与角色扮演:激发模型“模仿力“与“人格“
  • 从单模态到多模态:深度生成模型的演进历程
  • 【武汉理工大学第四届ACM校赛】copy
  • EAL4+与等保2.0:解读中国网络安全双标准
  • 用 Go 优雅地清理 HTML 并抵御 XSS——Bluemonday
  • 嵌入式---超声波测距模块
  • 时间模块 demo
  • 小白学习java第14天(上):数据库
  • 【目标检测】对YOLO系列发展的简单理解
  • 力扣2685(dfs)
  • 什么是管理思维?
  • APP嵌入WebView实现中国地图分布图
  • Mediatek Android13 设置Launcher
  • UML概览
  • Spark-Streaming简介 核心编程
  • 在线视频转 AVI 的便捷之选,便捷操作,无需下载软件,在线使用
  • 信息系统项目管理师_第十二章 项目风险管理
  • 复盘20250422
  • 网培机构围猎中老年人:低价引流卖高价课、“名师”无资质,舆论呼吁加强监管
  • 对话|四代中国缘的麦肯锡前高管:在混乱中制定规则,而不是复制旧秩序
  • 老旧高层遭“连环漏水”,如何携手共治解难题?
  • 白宫慌了!将设工作组紧急处理对中国加征关税危机
  • 旧电梯换新如何分摊费用?低楼层可以不出钱吗?上海闵行举办讨论会
  • 2025年福建省文旅经济发展大会召开