Windows安装Node.js
1、Node.js介绍
①、Node.js简介
Node.js是一个开源的、跨平台的JavaScript运行环境,它允许开发者使用JavaScript语言来构建高性能的网络应用程序和服务器端应用。Node.js的核心特点包括:
1. 事件驱动: Node.js采用了事件驱动的编程模型,通过事件循环机制处理异步操作,这使得它非常适合处理大量并发连接的应用,如实时聊天应用、在线游戏和实时数据分析。
2. 非阻塞I/O: Node.js采用了非阻塞的I/O操作,这意味着它能够在进行I/O操作时继续执行其他任务,而不必等待I/O操作完成。这有助于提高应用程序的性能和响应速度。
3. 单线程: 尽管Node.js是单线程的,但它利用了事件循环和异步编程模型,可以处理大规模的并发请求。这使得编写高性能的网络应用变得更加容易。
4. 跨平台: Node.js可在多个操作系统上运行,包括Windows、Linux和macOS,这使得开发人员能够轻松地编写一次代码,然后在不同平台上运行。
5. 强大的生态系统: Node.js拥有丰富的包管理工具(npm),其中包含了成千上万的开源模块和库,可以用于加速开发,从而减少了重复性工作。
②、Node.js应用
Node.js主要用于以下几个方面:
1. 服务器端应用开发: 用于构建高性能的服务器和网络应用程序。
2. Web应用程序开发: 用于创建现代的Web应用,包括单页应用(SPA)和服务器渲染应用。
3. 命令行工具: 用于构建自定义命令行工具和脚本。
4. 实时应用程序: 用于构建实时聊天应用、在线游戏和实时数据分析。
5. API开发: 用于创建RESTful API和GraphQL API,供客户端应用程序使用。
6. 物联网(IoT): 用于物联网项目中与传感器和硬件通信以及数据处理。
7. 代理服务器: 用作代理服务器,处理网络请求和转发请求到其他服务器。
2、下载安装
下载对应系统的版本:https://nodejs.org/en/download/

准备安装,下载后的安装包node-v18.18.0-x64.msi,双击运行即可。

点击图示的Next下一步按钮。

勾选复选框,点击【Next】按钮

修改对应的安装目录后,点击【Next】按钮。


点击Install安装即可。

安装完后点击【Finish】按钮完成安装。

3、验证安装结果
按住win+R,输入cmd,回车:
图示结果说明:
node -v 显示Node.js的版本表示已经成功安装了;npm -v显示npm版本表示默认的npm也成功安装了。

查看安装目录的结构:

4、环境配置
环境配置主要是为了指定全局npm模块的安装路径和缓存位置。这是因为在执行像`npm install express -g`这样的全局安装命令时,模块默认会被安装到C盘的路径(`C:\Users\用户名\AppData\Roaming\npm`),可能会占用大量磁盘空间。配置环境可以帮助改变这个默认路径,以避免C盘空间不足的问题。
在安装目录下,新建两个文件夹,【node_global】及【node_cache】

接着,打开cmd窗口,执行如下命令,路径记得修改为自己实际的目录:
npm config set prefix "D:\dev\nodejs\node_global"
npm config set cache "D:\dev\nodejs\node_cache"

然后,回到电脑桌面,点击“我的电脑”-右键-“属性”-“高级系统设置”-“高级”-“环境变量” ,或者直接按住win+R,输入sysdm.cpl,点击高级-环境变量。
编辑【用户变量】下的path

编辑图示为D:\dev\nodejs\node_global,路径请结合实际修改。

在【系统变量】下新建【NODE_PATH】,输入【D:\dev\nodejs\node_global\node_modules】 ,路径结合实际修改

在【系统变量】下找到Path,编辑,然后新建,添加NODE_PATH。

5、测试
配置完后,安装个module测试下,按住win+R键,打开cmd窗口,
输入如下命令进行模块的全局安装:
npm install express -g # -g参数代表全局安装

相关文章:
Windows安装Node.js
1、Node.js介绍 ①、Node.js简介 Node.js是一个开源的、跨平台的JavaScript运行环境,它允许开发者使用JavaScript语言来构建高性能的网络应用程序和服务器端应用。Node.js的核心特点包括: 1. 事件驱动: Node.js采用了事件驱动的编程模型,通…...
想要开发一款游戏, 需要注意什么?
开发一款游戏是一个复杂而令人兴奋的过程。游戏开发是指创建、设计、制作和发布电子游戏的过程。它涵盖了从最初的概念和创意阶段到最终的游戏发布和维护阶段的各个方面。 以下是一些需要注意的关键事项: 游戏概念和目标: 确定游戏开发的核心概念和目标…...
横向AlGaN/GaN基SBD结构及物理模型数据库的开发
GaN基功率器件凭借其临界电场高、电子饱和漂移速度大、热导率高等优良性能在大功率快充、充电桩、新能源汽车等领域具备广泛应用空间。为进一步助推半导体高频、高功率微电子器件的发展进程,天津赛米卡尔科技有限公司技术团队依托先进的半导体TCAD仿真平台成功开发出…...
使用安卓Termux+Hexo,手机也能轻松搭建个人博客网站
文章目录 前言1.安装 Hexo2.安装cpolar3.远程访问4.固定公网地址5.结语 前言 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并…...
Spring在业务中常见的使用方式
目录 通过IOC实现策略模式 通过AOP实现拦截 通过Event异步解耦 通过Spring管理事务 通过IOC实现策略模式 很多时候,我们需要对不同的场景进行不同的业务逻辑处理举个例子,譬如不同的场景需要不同支付方式,普通的逻辑是使用if-else&#x…...
PyTorch 深度学习实战
文章目录 前言1. 环境安装1.Anaconda2.pytorch cuda 环境3.测试 前言 1. 环境安装 1.Anaconda 可以参考这里:Anaconda学习 2.pytorch cuda 环境 我是按照下面的博客一步步完成,亲测有效 Pytorch安装教程(最全最详细版) 我的…...
学生用RockyLinux9.2模板虚拟机说明
“RockyLinux9.2”模板虚拟机下载地址 链接:https://pan.baidu.com/s/1xcakszIQ7Kp9Nw_NA9Znlg?pwdqzmm 提取码:qzmm 1.模板机是基于“Rocky-9.2-x86_64-minimal.iso”安装 2.模板机是2023.10.10执行dnf update && dnf upgrade更新和升级软件…...
BUUCTF reverse3 1
先运行下 看来是输入正确的flag 使用DIE查看文件 看起来没有壳,直接IDA打开 shift F12查找字符串 一路跟踪 到汇编窗口后F5 这里对Destination和Str2进行比较,Str2有值那么Str2就是经过上面一系列处理之后得到的内容了 继续分析上面的代码 根据…...
关于webWorker未解问题
今天尝试学习webworker,尝试在vue3项目里面使用 使用的就是常规方法,使用worker-loader,加上在vue.config.js内部添加配置 使用完发现问题 如图所见,该worker仅仅配置点击后传输字符串"1",并在worker内部打印,发现打印不出来 但是仅仅只是将引入的文件换个名字 …...
自然语言处理(NLP)的开发框架
自然语言处理(NLP)领域有许多开源的框架和库,用于处理文本数据和构建NLP应用程序。以下是一些常见的NLP开源框架及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合…...
Spring Boot与Kubernetes结合:构建高可靠、高性能的微服务架构
Spring Boot和Kubernetes(K8s)是当今非常热门的技术,它们的结合可以帮助开发者更高效地构建、部署和管理应用程序。本文将详细介绍Spring Boot和Kubernetes的主要特点,以及它们结合使用的优势。 一、Spring Boot的特点 Spring B…...
Qt自带的日志重定向机制
//Qt5开始提供了日志上下文信息输出,比如输出当前打印消息所在的代码文件、行号、函数名等。 //如果是release还需要在pro中加上 DEFINES QT_MESSAGELOGCONTEXT 才能输出上下文,默认release关闭的。 //切记不要在日志钩子函数中再写qdebug之类的&#x…...
笔记36:CNN的多通道卷积到底是什么样的
总结: (1)输入卷积层的feature_map的通道数,就是该卷积层每个卷积核所含有的通道数 (2)输出卷积层的feature_map的通道数,就是该卷积层所含有的卷积核的个数 a a a a 解释:【…...
【eigen】解决报错 return type of RCmpEQReturnType Eigen::operator== is not ‘bool’
文章目录 1. 发现问题2. GPT 分析问题3. 解决问题 1. 发现问题 在 c 项目中使用了 C 20 编译标准(GCC10),结果 eigen 中出现报错 /usr/include/eigen3/Eigen/src/Cholesky/LDLT.h:372:58: error: return type of ‘const RCmpEQReturnType …...
QT 实现mysql的长连接
以下是一个使用Qt进行MySQL长连接的示例程序: #include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include <QDebug>class MySQLConnection :...
Vue 使用 setup 语法糖
setup 语法糖在书写上更加方便简洁,可以直接在 script 标签中书写 setup 的内容,并且无需使用 return 返回。 基础使用: <script setup></script> 注:setup 语法糖中不能存在 export default {} ,否则会…...
Feign(替代RestTemplate)远程调用
Feign初步学习 定义 Feign 是一个基于 Java 的 HTTP 客户端库,它是 Spring Cloud 中的一部分,用于简化微服务之间的 HTTP 通信。与传统的使用 RestTemplate 来调用 RESTful 服务不同,Feign 提供了一种声明式、基于接口的方式来定义和调用 H…...
查找算法 —— 斐波拉契查找法
一、介绍 斐波拉契查找法是以分割范围进行查找的,分割的方式是按照斐波拉契级数的方式来分割。好处是:只用到加减运算,计算效率较高一些。 要使用斐波拉契查找首先需要定义一颗斐波拉契查找树,建立规则如下: 1.斐波拉契…...
PL/SQL全量同步
全量同步 -- 实现逻辑:用源表的数据直接覆盖目标表 -- 插入数据前:先清空目标表,然后查询源表的数据,插入目标表 -- 1. 先创建一个目标表 CREATE TABLE EMP_T AS SELECT E.*, SYSDATE CREATE_DATE, SYSDATE UPDATE_DATE, SYSDATE ETL_DATE FROM EMP E WHERE 12;SELECT * FR…...
IO类型游戏研发定制开发
"IO" 类型的游戏开发通常是指那些在线多人游戏,其特点是快节奏、实时互动和简单的玩法。这些游戏的名字通常以 ".io" 结尾,如 "Agar.io"、"Slither.io" 等。如果您有兴趣进行 "IO" 类型游戏的研发或提…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
