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

Java老码农
2025-06-13 20:57
阅读 724

开篇:什么是Node.js?它有什么用?

开篇:什么是Node.js?它有什么用?

在你平时使用的网站、App背后,其实都有一个“看不见的助手”——服务器。这个助手负责处理数据、存储用户信息、运行后台程序等等。

Node.js就是一个让你可以使用我们熟悉的JavaScript语言来开发这种“助手”(也就是服务端代码)的强大工具。

简单来说:

  • 前端 JavaScript 运行在浏览器上,用来做页面交互;
  • Node.js 让你可以在电脑或服务器上运行JavaScript代码,来做比如:读写文件、启动本地服务器、处理网络请求等更强大的事情。

有了 Node.js,你就可以不局限于网页操作,而是去构建 Web 应用的后端功能,比如聊天应用、博客系统、电商网站的后台服务等。


环境准备:搭建你的第一个Node.js开发环境

环境准备:搭建你的第一个Node.js开发环境

要学 Node.js,首先要安装好它的运行环境。以下是为初学者详细准备的步骤:

✅ 步骤1:下载并安装 Node.js

前往官网:https://nodejs.org/
选择 “LTS(稳定版)”,点击下载对应你系统的安装包(Windows/macOS/Linux)并安装。

安装完成后,在命令行中输入以下命令,确认是否安装成功:

node -v

如果输出类似 v20.11.x 的内容,说明 Node.js 安装成功了。

同样地,执行:

npm -v

NPM是Node.js配套的“软件商店”(后面会讲),如果也输出了版本号,那就一切OK啦!


✅ 步骤2:使用文本编辑器编写代码

推荐初学者使用免费强大的 Visual Studio Code(简称 VSCode)。
地址:https://code.visualstudio.com/

安装完成后,你就可以打开它,新建 .js 文件,写Node.js代码了。


核心概念:用通俗语言解释关键知识

核心概念:用通俗语言解释关键知识

下面我们用最简单的语言和示例,带你了解 Node.js 几个最重要的核心知识点。


1️⃣ 模块(Module):像积木一样拼接功能

想象一下你正在搭乐高积木,每一块积木都是独立的小功能。Node.js 中把这些小功能称为“模块”。

示例:使用内置模块 fs 来操作文件

// 引入 fs 模块(file system)
const fs = require('fs');

// 创建一个文本文档,并写入文字
fs.writeFileSync('hello.txt', '你好,这是我的第一个Node.js程序!');
console.log('文件已创建');

💡 初学者注意:

  • require() 是用来“调用”某个模块的方法
  • fs.writeFileSync 是同步方法,表示立刻执行写入操作

2️⃣ NPM:Node.js 自带的应用市场

还记得 App Store 或者手机里的应用商店吗?NPM 就是 Node.js 的“插件商店”。你可以从中安装各种现成的功能模块。

例如安装一个叫 lodash 的工具库(它里面有很多实用函数):

npm install lodash

之后就可以在自己的代码中使用它了:

const _ = require('lodash');

const numbers = [1, 2, 3, 4, 5];
const shuffled = _.shuffle(numbers); // 打乱数组顺序
console.log(shuffled);

3️⃣ HTTP服务器:让别人通过浏览器访问你写的程序

Node.js 最强大的地方之一就是它可以轻松帮你建立一个网站服务器。

来看一个简单的例子:

// 加载 http 模块
const http = require('http');

// 创建服务器对象
const server = http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('欢迎来到我的Node.js网站\n');
});

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

保存这段代码为 app.js,然后在终端运行:

node app.js

现在,打开浏览器,访问网址 http://localhost:3000,你会发现页面显示一句话:“欢迎来到我的Node.js网站”。


🌟 总结几个关键点:

概念 含义 常用方式
模块 独立的功能单元 require('xxx')
NPM 第三方工具库市场 npm install xxx
HTTP服务器 提供Web服务 http.createServer()

实战项目:动手做一个“说你好”的网页

实战项目:动手做一个“说你好”的网页

移动端适配方案-2

为了加深理解,我们来完成一个小项目:搭建一个网页,当访问时显示“你好 + 用户名”。

🔧 功能需求

  • 当用户访问 /say?name=张三,返回:你好,张三!
  • 如果没有提供名字,则显示默认信息:请输入名字,如 /say?name=李四

🧱 编码步骤

  1. 新建一个文件:greet-app.js
  2. 引入所需模块:http, url
const http = require('http');
const url = require('url');

const server = http.createServer((req, res) => {
    const parsedUrl = url.parse(req.url, true); // 解析URL参数
    const path = parsedUrl.pathname;
    const query = parsedUrl.query;

    if (path === '/say') {
        const name = query.name || '陌生人';
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.end(`你好,${name}!<br>试试访问 /say?name=你的名字`);
    } else {
        res.writeHead(404);
        res.end('找不到此页面');
    }
});

server.listen(3000, () => {
    console.log('运行中,请访问 http://localhost:3000/say?name=张三');
});

运行程序:

node greet-app.js

现在访问网址:http://localhost:3000/say?name=王五,你会看到:

你好,王五!
试试访问 /say?name=你的名字

✅ 成功!你已经完成了一个能接收参数的简易网页功能!


常见问题:新手常犯错误与解决办法

刚接触Node.js的新手常常会遇到这些问题,我们提前解答:

❓ 1. “node不是内部或外部命令”

这通常是因为 Node.js 没有正确安装未添加到系统路径中

✅ 解决方案:

  • 重新下载安装 LTS 版本。
  • 安装完成后重启终端。
  • 若还不行,可搜索“node 不是命令 Windows 解决方案”。

❓ 2. 使用了 import 报错

你可能会看到这样的错误信息:

SyntaxError: Cannot use import statement outside a module

因为在Node.js默认模式下,不能直接使用ES6的 import/export,需要启用模块支持。

✅ 解决方案: 将文件扩展名改为 .mjs,或者修改 package.json 添加 "type": "module"

例如,把上面的 greet-app.js 改为 greet-app.mjs,并改成如下代码:

import http from 'http';
import { parse } from 'url';

// ...(后面的逻辑不变)

❓ 3. 修改代码后没生效怎么办?

Node.js 每次运行都是单独启动一次进程。如果你修改了代码,要记得在终端 先按下 Ctrl+C 终止当前程序,再重新运行 node 文件名


学习建议:下一步怎么走?

Congratulations!你现在掌握了Node.js的基础能力,接下来可以尝试这些进阶方向:

🚀 推荐学习路线图:

  1. 熟悉Express框架 —— 类似jQuery对JS的重要性,Express是Node.js的常用Web框架,可以简化路由、模板渲染等工作
  2. 数据库入门 —— 学习如何连接 MySQL 或 MongoDB,真正实现“用户登录”、“发表评论”等功能
  3. 异步编程与Promise —— Node.js很多功能都基于回调函数或Promise,理解它们能让代码更清晰
  4. 项目实战 —— 做一个完整的博客系统或聊天应用,锻炼全栈能力
  5. 深入原理 —— 看看Node.js事件循环、流操作(Stream)、Buffer等内容

现代网页界面设计示例-1

📚 资源推荐:

  • 免费文档:https://nodejs.org/api/
  • 视频课程:B站/YouTube 上搜索「Node.js 零基础」
  • 社区互动:加入掘金、知乎、Stack Overflow提问交流

结语

恭喜你完成了这篇从零开始的Node.js教程!现在你已经掌握了:

  • Node.js的用途和安装方式
  • 常见核心模块的使用方法
  • 如何构建一个简单网页服务器
  • 常见问题及应对方法

只要不断练习项目,很快你就能开发属于自己的后端服务。记住一句话:写代码是最好的学习方法。希望你在Node.js的世界越学越有趣!

🎉 下一步就开启你的个人项目吧!

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝