Node.js 开发环境搭建全攻略(2025版)

作者:Java私教日期:2025/11/11

本文将详细介绍如何在本地搭建一个高效、可维护的 Node.js 开发环境,适用于 Windows、macOS 与 Linux。无论你是后端新手还是资深全栈工程师,都能通过本文快速构建一个标准化的 Node.js 开发环境。


一、什么是 Node.js?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,它让开发者可以在服务器端运行 JavaScript。 它以 事件驱动、非阻塞 I/O 的特性著称,非常适合构建高性能的 Web 服务和微服务架构。


二、安装 Node.js

1. 使用官方安装包(适合初学者)

访问 Node.js 官方网站你会看到两个版本:

  • LTS(长期支持版):稳定可靠,推荐生产环境使用
  • Current(最新功能版):包含最新特性,适合尝鲜或测试

下载并运行对应操作系统的安装包后,命令行输入以下命令验证安装:

1node -v
2npm -v
3

你应能看到类似输出:

1v20.18.1
210.5.2
3

2. 使用 Node 版本管理器(推荐)

在实际项目中,不同项目可能依赖不同版本的 Node.js。 因此推荐使用版本管理工具,如:

macOS / Linux:

1# 安装 nvm(Node Version Manager)
2curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
3
4# 载入配置
5source ~/.bashrc  # 或 ~/.zshrc
6
7# 安装并使用指定版本
8nvm install 20
9nvm use 20
10

Windows:

使用 nvm-windows

1nvm install 20.18.1
2nvm use 20.18.1
3

验证版本:

1node -v
2nvm list
3

优势:

  • 多版本 Node 共存
  • 快速切换项目环境
  • 更易于 CI/CD 集成

三、配置 npm(包管理工具)

Node.js 自带的 npm 是 JavaScript 生态的核心包管理器。

常见配置:

1. 修改全局镜像源(加速安装)

默认源在国外,安装速度较慢,可以改为国内镜像:

1npm config set registry https://registry.npmmirror.com
2

查看是否成功:

1npm config get registry
2

2. 安装全局工具

1npm install -g yarn pnpm nodemon
2

常用工具说明:

工具作用
yarn / pnpm更快的包管理器
nodemon自动重启 Node 服务
typescriptTypeScript 支持
eslint代码规范检查

四、创建一个 Node.js 项目

1. 初始化项目

1mkdir my-node-app
2cd my-node-app
3npm init -y
4

这会生成一个基本的 package.json 文件。

2. 创建主文件

1touch index.js
2

编辑内容:

1const http = require('http');
2
3const server = http.createServer((req, res) => {
4  res.writeHead(200, {'Content-Type': 'text/plain'});
5  res.end('Hello Node.js!');
6});
7
8server.listen(3000, () => {
9  console.log('Server running at http://localhost:3000/');
10});
11

运行:

1node index.js
2

访问 http://localhost:3000 即可看到结果。


五、使用现代化开发工具

1. VS Code 配置

安装推荐扩展:

  • ESLint:代码规范检查
  • Prettier:自动格式化
  • Node.js Extension Pack:常用 Node 工具集成

添加 .vscode/settings.json

1{
2  "editor.formatOnSave": true,
3  "editor.codeActionsOnSave": {
4    "source.fixAll.eslint": true
5  }
6}
7

2. 使用 .env 管理环境变量

安装 dotenv:

1npm install dotenv
2

在项目根目录添加 .env 文件:

1PORT=3000
2

修改代码:

1require('dotenv').config();
2const port = process.env.PORT || 3000;
3

六、使用 TypeScript(可选)

现代 Node 项目推荐使用 TypeScript。

1npm install -D typescript ts-node @types/node
2npx tsc --init
3

修改 tsconfig.json

1{
2  "target": "ES2020",
3  "module": "commonjs",
4  "outDir": "dist",
5  "rootDir": "src",
6  "esModuleInterop": true
7}
8

七、总结

步骤内容目的
1安装 Node.js 或 nvm管理运行时环境
2配置 npm 源加速依赖安装
3初始化项目生成 package.json
4编写入口文件启动服务器
5配置编辑器与 ESLint提升开发体验
6可选启用 TypeScript增强类型安全

八、结语

到这里,你已经拥有一个完整、可扩展的 Node.js 开发环境。 后续可以基于此环境继续学习:

  • 使用 Express / Koa / NestJS 构建后端服务
  • 使用 TypeScript + Jest 构建测试体系
  • 使用 Docker 容器化部署

Node.js 开发环境搭建全攻略(2025版)》 是转载文章,点击查看原文


相关推荐


类比前端知识来学习Java的Spring Boot实现MySql的全栈CRUD功能——搭配Svelte+Vite
水冗水孚2025/11/9

前言 本文梳理了后端的相关操作流程环节 使用Svelte+Vite(前端)搭配Spring Boot(后端) 实现了一个增删改查全栈项目 有助于前端更好理解后端java的分层思想,数据流转控制 和Svelte尝鲜学习了解 完整前后端代码在github:github.com/shuirongshu… 大道至简,一些知识点是相通的比如——python里面也有闭包这个概念 所谓编程即:学习规则语法、理解规则语法、合理运用规则语法、从而自定义规则... Java、Spring、Spring Bo


Bash 的 if 条件语句
hubenchang05152025/11/7

#Bash 的 if 条件语句 Bash 的 if 条件语句的语法为: if 条件命令 then 命令 ... elif 条件命令 then 命令 ... else 命令 ... fi 其中,条件命令返回成功(0)时为真(true),返回失败(非 0)时为假(false)。 如果省略(部分)换行,则需要使用分号(;)区分: if 条件命令; then 命令; 命令; elif 条件命令; then 命令; 命令; else 命令; 命令; fi


hive的SQL练习3
普通网友2025/11/3

根据如上表格信息,实现如下需求: 查询五一期间(2023-05-01 ~ 2023-05-07),每个餐厅的订单总数量及排名with t as ( select *,        count(1) over(partition by restaurant_id) countNum        from orders where substr(order_date,1,10)     between '2023-05-01' and '2023-05-07' ) select d


游戏盾是如何保障游戏安全稳定的
上海云盾第一敬业销售2025/10/31

上海云盾SDK游戏盾是如何保障游戏安全稳定的 防攻击保流畅:游戏服务器易遭受 UDP Flood、CC 攻击等针对性威胁,这类攻击会导致服务器负载过高,引发玩家掉线、操作卡顿。游戏盾能深度解析游戏协议,快速识别攻击流量并进行清洗,同时依托多节点部署,将攻击流量引流至防护节点,避免源服务器受冲击,确保游戏全程流畅不中断。 阻外挂护公平:外挂、作弊脚本会破坏游戏内平衡,导致合规玩家失去兴趣,损害游戏生态。游戏盾内置外挂检测机制,可实时监控异常行为,如数据篡改、加速作弊等,通过特征匹配与行为分


前端别再乱存数据了!这3种存储方案让你的应用快如闪电
良山有风来2025/10/28

你是不是也遇到过这样的场景? 用户刚填完一个超长的表单,不小心刷新了页面,所有数据都没了... 从接口请求的数据,用户每次操作都要重新加载,体验卡成PPT... 应用离线状态下完全无法使用,用户直接流失... 别担心!今天我就带你彻底解决这些问题。看完这篇文章,你将掌握一套完整的数据交互方案,让你的应用在任何网络状态下都能流畅运行。 为什么数据存储这么重要? 想象一下,你去超市购物,每次想买什么东西,都要跑回家查一下购物清单,然后再跑回超市... 这得多累啊! 网页应用也是同样的道理。合理的数据


Bash 的变量
hubenchang05152025/10/25

#Bash 的变量 Bash 中的变量定义语法如下: 变量名=值 注意,等号(=)两边不能有空格。 变量名的命名应当遵循如下规则: 只能包含字母,数字和下划线(_),并且不能以数字开头。 不能使用 Bash 保留的关键字,如:if then else fi for while do done 等 环境变量和常量使用全大写字母,单词间使用下划线分隔 普通变量使用全小写字母,单词间使用下划线分隔 函数内的局部变量使用 local 关键字声明 例如: PI=3.1415925 URL="htt


搜索百科(5):Easysearch — 自主可控的国产分布式搜索引擎
极限实验室2025/10/23

大家好,我是 INFINI Labs 的石阳。 欢迎关注 《搜索百科》 专栏!每天 5 分钟,带你速览一款搜索相关的技术或产品,同时还会带你探索它们背后的技术原理、发展故事及上手体验等。 在上一篇我们介绍了 OpenSearch —— 那个因协议争议而诞生的开源搜索分支。今天,我们把目光转向国内,聊聊极限科技研发的一款轻量级搜索引擎:Easysearch。 引言 在搜索技术的世界里,从 Lucene 的出现到 Solr、Elasticsearch 的崛起,搜索引擎技术已经发展了二十余年。然而,随


Swift 字符串与字符完全导读(一):从字面量到 Unicode 的实战之旅
unravel20252025/10/22

前言 Swift 的 String 看起来“像 NSString 的弟弟”,但骨子里是一套全新的 Unicode 抽象模型。 String 与 Character 的本质 String:由“扩展字形簇”(extended grapheme cluster)构成的有序集合。 Character:一个扩展字形簇,人类眼中的“一个字符”,占用的字节数可变。 // 1 个 Character,由 2 个 Unicode 标量合成 let eAcute: Character = "é"


JAVA面试复习笔记(待完善)
paishishaba2025/10/20

目录 布隆过滤器 一、核心思想 二、执行逻辑详解 1. 添加元素 2. 查询元素 三、为什么会有误判? 四、关键参数与性能权衡 五、执行逻辑总结与特点 六、典型应用场景 Redis 的 SETNX 命令 一、基本语法和语义 二、简单示例 三、SETNX 的核心特性 1. 原子性 2. 简单性 3. 无过期时间 四、经典应用场景 1. 分布式锁(最经典的应用) 五、SETNX 的局限性及改进方案 问题1:非原子性的设置过期时间 解决方案:使用 SET 命令


Windows Server,如何使用WSFC+nginx实现集群故障转移
IT橘子皮2025/10/19

在 Windows Server 环境中结合 WSFC(Windows Server Failover Clustering)和 Nginx 实现集群故障转移,核心目标是构建一个既具备应用层高可用性(由 Nginx 负责),又具备基础设施层高可用性(由 WSFC 保障 Nginx 服务本身)的稳固架构。下面这张图清晰地展示了这套架构的完整工作流程: 上图展示了WSFC如何通过心跳检测监控Nginx主节点的状态,并在故障发生时自动将服务(包括虚拟IP和Nginx进程)转移到备节点。下面我们详细拆

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0