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

Node.js简介及安装

一、Nodejs简介

1、核心定义

        Node.js 是一个基于 Chrome V8 引擎的开源、跨平台 JavaScript 运行时环境(Runtime),用于在服务器端或本地运行 JavaScript 代码。它并非编程语言、库或框架,而是扩展了 JavaScript 的能力,使其脱离浏览器沙盒,能够访问文件系统、网络等系统资源,实现全栈开发。

2、核心特点

        Node.js 的设计理念围绕“高效处理并发”展开,关键特点如下:

        ◆ 非阻塞 I/O(事件驱动):处理文件读写、网络请求等 I/O 操作时,不等待结果返回,而是继续处理其他请求;当 I/O 完成后,通过回调函数通知主线程。这种模式大幅提高了 I/O 密集型应用的并发能力。

        ◆ 单线程架构:使用一个主线程处理事件循环(Event Loop),避免了多线程切换的开销和复杂性。但单线程意味着无法并行处理 CPU 密集型任务(如复杂计算),否则会阻塞整个进程。

        ◆ 跨平台支持:可在 Windows、Linux、macOS 等操作系统上运行,实现“一次编写,多处部署”。

        ◆ 高性能 V8 引擎:基于 Google Chrome 的 V8 引擎,将 JavaScript 代码编译为机器码执行,执行速度快,性能出色。

3、核心组成与模块

        Node.js 的功能由内置核心模块和第三方模块共同支撑:

        1. 内置核心模块(无需安装,直接使用)

        ◆ fs:文件系统操作(如读取、写入、删除文件);

        ◆ http/https:创建 HTTP/HTTPS 服务器和客户端,处理网络请求;

        ◆ path:处理文件路径(如拼接、解析路径);

        ◆ os:获取操作系统信息(如 CPU 架构、内存容量);

        ◆ events:实现事件驱动机制(如自定义事件、监听事件);

        ◆ stream:处理数据流(如文件流、网络流),提高 I/O 效率。

        2. 第三方模块(通过 npm 管理)

        npm(Node Package Manager):Node.js 的包管理工具,是全球最大的 JavaScript 开源库生态系统。开发者可通过 npm install 命令快速安装第三方模块(如 npm install express 安装 Express 框架),也可发布自己的模块供他人使用。

4、适用场景

        Node.js 适合I/O 密集型应用(而非 CPU 密集型),常见场景包括:

        ◆ 实时应用:如实时聊天(微信小程序后端)、视频流服务(抖音直播)、协作工具(腾讯文档),事件驱动模型能快速响应实时请求;

        ◆ API 服务:构建 RESTful API 或 GraphQL API,为前端应用(如 React、Vue)提供数据接口;

        ◆ 单页应用(SPA)后端:处理前端路由、数据交互等,简化全栈开发流程;

        ◆ 微服务架构:作为微服务节点,轻量、高效的特性有助于构建可扩展的分布式系统;

        ◆ 命令行工具:如 Webpack、Gulp 等前端构建工具,均基于 Node.js 开发。

5、生态系统

        Node.js 的生态系统极为丰富,关键组件包括:

        框架:

        ◆ Express.js:极简 Web 框架,简化路由、中间件等开发流程(如 app.get('/api/user', (req, res) => res.send('user data')));

        ◆ Koa.js:Express 团队开发的下一代框架,采用 async/await 语法,更简洁、灵活;

        工具:

        ◆ Socket.io:实现实时双向通信(支持 WebSocket),适用于实时聊天、多人游戏;

        ◆ Mongoose:MongoDB 的对象文档模型(ODM)库,简化数据库操作;

        ◆ 数据库:MongoDB(NoSQL)、MySQL(关系型)等,均与 Node.js 配合良好。

6、总结

        Node.js 的出现让 JavaScript 从“浏览器端语言”升级为“全栈语言”,其核心优势在于非阻塞 I/O 和事件驱动模型,使其在 I/O 密集型应用中表现出色。通过庞大的生态系统,开发者可以快速构建高效、可扩展的应用,大幅降低全栈开发的学习成本。

        无论是前端开发者想了解前后端交互,还是后端开发者想尝试轻量级服务,Node.js 都是值得学习的重要技术。💡

二、Nodejs下载安装

1、Nodejs下载

官网下载地址:Node.js — Download Node.js®

中文网下载地址:下载 Node.js

或者直接输入Node.js官网IP地址(如https://nodejs.org/dist/latest-v16.x/)尝试访问。‌‌

2、Nodejs安装

◆ 双击压缩包出现安装界面点击【Next】

◆ 点击【Change...】后修改安装路径(建议放在C盘外的其他盘中)后点击【Next】

◆ 该页面可根据自身需求进行选择,没有特殊需求选择默认设置安装,直接点击【next】

◆ 直接点击【Next】

◆ 点击【Install】

◆ 安装完成,点击【Finish】

3、安装验证

        测试是否安装成功,使用【 win+R】 键,输入cmd,打开命令窗口

        窗口内输入:

node -v   //显示node.js版本
npm -v    //显示npm版本

        给出结果如下则安装成功:

三、Nodejs环境配置

        1、打开安装的目录,在安装目录下新建两个文件夹【node_global】和【node_cache】

        2、再次打开cmd命令窗口,输入npm config set prefix “你的路径\node_global” 以及  npm config set cache “你的路径\node_cache” (可直接复制刚刚新建的空文件夹目录,执行时候建议使用管理员权限打开CMD,否则有可能会提示权限不够报错

npm config set prefix “你的路径\node_global”
npm config set cache “你的路径\node_cache”

        3、设置环境变量,打开【系统属性】-【高级】-【环境变量】,在系统变量中新建变量名及变量值( 用来告诉系统, 下载的模块或者包都在这里了),如下是以个人安装路径为例子:

变量名:NODE_PATH

变量值:D:\Path\nodejs\node_global\node_modules

        配置保存后在 node_global 文件中会多出一个 node_modules 文件,如果输入变量值后 node_global 文件中没有自动创建 node_modules 文件夹,可以手动在node_gobal 中创建一个 node_modules 文件夹,然后把 node_modules 文件夹的路径地址复制并粘贴到变量值。           

        4、编辑 用户变量 中的 PATH,将默认的C盘下的 C:\Users\21639\AppData\Roaming\npm 修改为 node_global 的路径,然后点击确定

        5、在 系统变量 中选择 PATH 点击编辑,添加【NODE_PATH】,然后一直点击确定 

        6、配置完成后,全局安装一个最常用的 express 模块进行测试

        如果上述操作过后安装express失败,可以对nodejs文件中的 node_global 以及 node_cache 文件夹权限进行修改,鼠标右击的文件夹,点击【属性】,再点击【安全】,再点击【编辑】,将权限都勾上后保存即可,如若还不行就把nodejs整个文件夹权限放开即可。

http://www.dtcms.com/a/329463.html

相关文章:

  • 人工到智能:塑料袋拆垛的自动化革命 —— 迁移科技的实践与创新
  • Node.js浏览器引擎+Python大脑的智能爬虫系统
  • Vue3从入门到精通: 3.5 Vue3与TypeScript集成深度解析
  • 热门手机机型重启速度对比
  • PCB题目基础练习2
  • 从“字”到“画”:基于Elasticsearch Serverless 的多模态商品搜索实践
  • aave v3 存款利息的计算方式
  • 《红黑树的原理与C++实现:详解平衡艺术的高效构建与操作》
  • 无人设备遥控器之编码技术篇
  • 【剑指offer】搜索算法
  • 力扣(跳跃游戏I/II)
  • c++26新功能—inplace_vector
  • 达梦数据库常见漏洞及处理方案
  • PostgreSQL——索引
  • TensorFlow实现回归分析详解
  • npm install 的作用
  • HTTP 请求转发与重定向详解及其应用(含 Java 示例)
  • Windows平台RTSP播放器选型与低延迟全解析及技术实践
  • 迅为RK3568开发板模型推理测试实战deeplabv3语义分割
  • Java基础 8.13
  • 【Flowable】工作流网关 控制流程的流向
  • 深度学习——03 神经网络(3)-网络优化方法
  • 门店销售机器人的智能升级:具身智能模型带来的变革
  • Mac安装ant
  • Linux性能分析教程:top, htop, iotop命令使用详解 (服务器慢/卡顿排查)
  • 电脑如何安装win10专业版_电脑用u盘安装win10专业版教程
  • GO学习记录四——读取excel完成数据库建表
  • 10.反射获取静态类的属性 C#例子 WPF例子
  • 5.0.9.1 C# wpf通过WindowsFormsHost嵌入windows media player(AxInterop.WMPLib)
  • BGE向量算法