Node.js新手教程:从零开始学习服务器端JavaScript

Spring打工人
2026-02-19 23:08
阅读 1738

大家好,我是老张,一个干了五年后端开发的“老码农”。今天之所以写这篇教程,是因为我刚入行时踩过太多坑——那时候没人告诉我Node.js到底是什么、怎么用,全靠自己瞎摸索。现在回看,其实入门没那么难,只要有人带你走对第一步。

如果你是完全零基础的小白,别担心!这篇文章会手把手教你用最简单的语言、最清晰的步骤,把Node.js从“听说”变成“会用”。我们还会顺手搭一个能跑起来的小服务器,让你立刻感受到“我居然真的写了个后端程序!”的成就感。


为什么我们要学Node.js?

简单说:Node.js 让你用 JavaScript 写服务器程序

以前,JavaScript 只能在浏览器里跑(比如点个按钮弹出提示框)。但2009年,一个叫 Ryan Dahl 的程序员说:“为啥不能让 JS 在服务器上跑呢?”于是他搞出了 Node.js。

结果?全世界的前端开发者都沸腾了——终于不用再学一门新语言(比如 Java、Python)就能写后端了!

我当初学的时候,以为 Node.js 是个“框架”,后来才知道它其实是个运行环境,就像浏览器之于网页,Node.js 就是 JavaScript 的“服务器版浏览器”。


环境准备:5分钟搞定开发环境

要写 Node.js 程序,你只需要三样东西:

  1. 一台电脑(Windows / Mac / Linux 都行)
  2. 一个代码编辑器(推荐 VS Code,免费又好用)
  3. 安装 Node.js

第一步:安装 Node.js

  1. 打开官网:https://nodejs.org
  2. 点击 LTS 版本(长期支持版,更稳定,适合新手)
  3. 下载并安装(一路“下一步”就行)

💡 小技巧:安装完后打开终端(Windows 用 PowerShell 或 CMD,Mac 用 Terminal),输入:

node -v
npm -v

如果看到类似 v20.12.010.5.0 的版本号,说明安装成功!

第二步:创建你的第一个项目

在电脑上新建一个文件夹,比如叫 my-node-app,然后在终端里进入这个文件夹:

cd my-node-app

初始化项目(这会生成一个 package.json 文件,用来管理项目信息):

npm init -y

-y 表示全部用默认配置,省得你一个个填。


核心概念:Node.js 到底是怎么工作的?

别被“服务器”“后端”这些词吓到。我们用生活中的例子来理解:

概念 类比解释
Node.js 一个“厨房”——你在这里做菜(处理请求)
JavaScript 厨师的菜谱(你写的代码)
HTTP 请求 顾客点单(比如浏览器访问 http://localhost:3000
响应(Response) 厨师做好菜端给顾客(返回网页、数据等)

关键特性:非阻塞 I/O

这是 Node.js 最牛的地方。传统服务器(比如 PHP)像一个厨师:接到一个订单就去做,做完才能接下一个。而 Node.js 像一个“超人厨师”:接到订单后,一边煮面一边炒菜,还能同时接电话——不会卡住

技术上叫“事件驱动”“非阻塞”,但你只要记住:它能同时处理很多请求,效率高


实战项目:写一个能返回“Hello World”的服务器

现在,我们动手写一个真正的服务器!目标:当你在浏览器输入 http://localhost:3000,页面显示 “Hello from Node.js!”。

步骤 1:创建 server.js

在你的项目文件夹里新建一个文件,叫 server.js,内容如下:

// 引入 Node.js 内置的 http 模块
const http = require('http');

// 创建一个服务器
const server = http.createServer((req, res) => {
  // 设置响应头:告诉浏览器这是 HTML 内容
  res.writeHead(200, { 'Content-Type': 'text/html' });
  
  // 发送响应内容
  res.end('<h1>Hello from Node.js!</h1>');
});

// 让服务器监听 3000 端口
server.listen(3000, () => {
  console.log('服务器已启动,访问 http://localhost:3000');
});

步骤 2:运行服务器

回到终端,执行:

node server.js

你会看到输出:

服务器已启动,访问 http://localhost:3000

步骤 3:打开浏览器

在浏览器地址栏输入 http://localhost:3000,你会看到大大的标题:

Hello from Node.js!

恭喜!你刚刚写了一个真正的 Web 服务器!虽然简单,但原理和淘宝、微信的后端是一样的——只是它们的代码更复杂。


升级一下:用 Express 框架简化开发

刚才我们用的是 Node.js 自带的 http 模块。但实际开发中,大家几乎都用 Express —— 一个轻量级 Web 框架,能让代码更简洁。

安装 Express

在终端执行:

npm install express

这会下载 Express 并记录在 package.json 中。

用 Express 重写服务器

修改 server.js 为:

const express = require('express');
const app = express();

// 定义一个路由:当用户访问根路径 "/" 时
app.get('/', (req, res) => {
  res.send('<h1>Hello from Express!</h1>');
});

// 启动服务器
app.listen(3000, () => {
  console.log('Express 服务器已启动,访问 http://localhost:3000');
});

再次运行 node server.js,效果一样,但代码更干净!

我当初学的时候,一开始死磕原生 http 模块,结果写个路由判断累得半死。后来发现 Express,简直像从自行车换上了电动车!


连接真实世界:用 GitHub 管理你的代码

写完代码,总不能只存在本地吧?这时候就要用 GitHub —— 全球程序员的“代码仓库”。

新手操作指南:

  1. 注册 GitHub 账号
  2. 在项目根目录初始化 Git:
    git init
    
  3. 添加文件并提交:
    git add .
    git commit -m "我的第一个 Node.js 项目"
    
  4. 在 GitHub 上新建一个仓库(比如叫 my-node-app
  5. 按照提示把本地代码推上去:
    git remote add origin https://github.com/你的用户名/my-node-app.git
    git push -u origin main
    

以后每次改代码,都可以 git add .git commitgit push,轻松备份+分享!


智能助手登场:DeepSeek、Lovable、Amazon Q 能帮你什么?

现在 AI 工具遍地开花,作为新手,你可以善用它们加速学习:

工具 用途 适合场景
DeepSeek 国产大模型,支持代码问答 中文提问,解释概念,生成简单代码
Lovable 快速搭建产品原型 如果你想把 Node.js 接口做成一个可演示的 App
Amazon Q AWS 官方 AI 助手 如果你打算把 Node.js 部署到云服务器(如 EC2)

举个例子:你在写代码时卡住了,可以问 DeepSeek: “如何用 Express 返回 JSON 数据?” 它会立刻给你一段示例代码,比如:

app.get('/api/user', (req, res) => {
  res.json({ name: '张三', age: 25 });
});

但注意:AI 是辅助,不是替代。理解原理永远比复制粘贴重要!


新手常见问题 & 解决方案

❓ 问题1:端口被占用,报错 EADDRINUSE

原因:3000 端口已经被其他程序占用了。

解决

  • 换个端口,比如 3001
    app.listen(3001, ...)
    
  • 或者关掉占用端口的程序(Windows 用任务管理器,Mac 用 lsof -i :3000

❓ 问题2:修改代码后要手动重启服务器

解决:安装 nodemon,它会自动监听文件变化并重启:

npm install -g nodemon
nodemon server.js

以后改代码,保存后服务器自动刷新,不用手动关再开!

❓ 问题3:require 报错 “Cannot find module”

原因:你可能忘了安装依赖,或者路径写错了。

检查

  • 如果是第三方模块(如 express),确保已执行 npm install express
  • 如果是自己写的文件,路径要写对,比如:
    const myModule = require('./utils/myModule.js'); // 注意 ./ 表示当前目录
    

下一步学什么?我的学习路线建议

Node.js 只是起点,真正的后端开发还有很多内容。我建议你按这个顺序走:

  1. 巩固基础

    • 学习模块化(module.exports / import
    • 理解 async/await 和 Promise(处理异步操作)
  2. 连接数据库

    • 从 SQLite 或 MongoDB 开始(比 MySQL 简单)
    • 用 Mongoose(MongoDB)或 Sequelize(SQL)操作数据
  3. 构建 API 接口

    • 学 RESTful 设计
    • 用 Postman 测试接口
  4. 部署上线

    • 用 Railway、Vercel 或 AWS Elastic Beanstalk 免费部署
    • 绑定自己的域名(可选)
  5. 进阶工具

    • 学 TypeScript(让 JS 更安全)
    • 用 PM2 管理生产环境进程

避坑指南:不要一上来就学“微服务”“Kubernetes”!先把单个 Node.js 应用搞明白,再谈架构。


最后的话

我写这篇教程,就是希望你别像我当初那样,在黑暗中摸索半天。Node.js 的门槛其实很低,关键在于动手写代码。哪怕只是改一行、多试一次,你都在进步。

记住:每一个大神,都是从 console.log('Hello World') 开始的

现在,打开你的编辑器,敲下第一行代码吧!你离“全栈开发者”,只差一个 server.js 的距离。

有问题?欢迎在评论区留言,或者去 GitHub 上给我提 issue(我的项目地址通常放在 README 里)。编程路上,我们一起走!

评论 0

最热最新
暂无评论
Spring打工人Lv.1
0
影响力
0
文章
0
粉丝