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

Gradle别卡了
2025-06-30 12:24
阅读 520

开篇:Node.js 是什么?用来做什么?

开篇:Node.js 是什么?用来做什么?

如果你是前端开发者,或者正在学习 JavaScript,那可能已经听说过 Node.js 这个名字。那它到底是什么呢?简单来说,Node.js 不是一个编程语言,而是一个运行 JavaScript 的环境。

你可以把它理解成:“让 JavaScript 可以运行在电脑上、服务器上的一个平台”。换句话说,在 Node.js 出现之前,JavaScript 主要是在浏览器里执行(比如网页中的按钮点击事件),而有了 Node.js 之后,JavaScript 现在也可以用于构建服务器程序、命令行工具、自动化脚本等很多后端开发的场景。

这对我们有什么好处呢?如果你已经是前端开发者,那就意味着你可以用熟悉的 JavaScript 来写前后端代码了!Node.js 让全栈开发变得更容易和统一。

接下来我们将一起学习如何从零开始搭建 Node.js 的开发环境,并完成一个小项目来感受它的强大之处!


环境准备:安装 Node.js 和 npm

前端性能优化图表-1

环境准备:安装 Node.js 和 npm

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

打开 Node.js 官网,选择“LTS”版本进行下载。LTS 是 Long Term Support(长期支持)的意思,适合新手使用。

安装过程非常简单,一路“下一步”即可完成。

✅ 验证是否安装成功:

在电脑上打开终端(Windows 用户可以使用 CMD 或 PowerShell,Mac 和 Linux 用户使用 Terminal),输入以下命令:

node -v

如果看到类似 v18.16.0 的输出,说明 Node.js 已经安装成功。

接着再验证 npm:

npm -v

如果能看到版本号(例如 9.5.1),就说明 npm(Node Package Manager) 也安装好了。

步骤 2:创建你的第一个 Node.js 文件

现在我们来写一个最简单的程序,体验一下在 Node.js 中执行 JavaScript 的感觉。

新建一个文件,取名为 hello.js,内容如下:

console.log("Hello, Node.js!");

保存后回到终端,进入该文件所在目录,运行:

node hello.js

你会在控制台看到输出:

Hello, Node.js!

🎉 成功运行了你的第一个 Node.js 程序!


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

Node.js 的核心知识点主要包括:模块系统、文件系统操作、HTTP 模块和 npm 的使用。这些听起来可能有点专业术语的味道,但我们慢慢来,逐一讲解。

1. 模块系统(CommonJS)

在浏览器中,我们可以直接通过 <script> 标签引入 JS 文件,但在 Node.js 中,每个文件就是一个独立的模块,不能直接共享变量或函数。这就需要用模块系统来组织代码。

示例:定义并导出一个模块

新建文件 math.js

function add(a, b) {
  return a + b;
}

module.exports = { add };

使用这个模块

新建另一个文件 app.js

const math = require('./math');
console.log(math.add(2, 3)); // 输出 5

然后运行:

node app.js

可以看到控制台输出:

5

📌 知识点总结:

  • require() 用于导入模块
  • module.exports 用于导出模块的内容

2. 文件系统(File System)

Node.js 提供了一个强大的内置模块叫 fs,用于操作文件和目录。

示例:读取文件内容

新建一个文本文件 greeting.txt,内容为:

你好,世界!

然后新建 readFile.js 文件:

const fs = require('fs');

fs.readFile('greeting.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('读取失败:', err);
  } else {
    console.log('文件内容:', data);
  }
});

运行后会打印出文件内容。

📌 知识点总结:

  • fs.readFile() 异步读取文件
  • 第二个参数 'utf8' 表示指定编码格式
  • 回调函数处理错误和数据

3. HTTP 模块:创建 Web 服务器

Node.js 最常见的用途之一就是构建 Web 服务。我们可以使用内置的 http 模块来创建一个简单的 Web 服务器。

示例:创建一个服务器响应请求

新建文件 server.js

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('欢迎来到我的网站!');
});

server.listen(3000, () => {
  console.log('服务器运行在 http://localhost:3000/');
});

运行:

node server.js

打开浏览器访问 http://localhost:3000/,你会看到页面显示:

欢迎来到我的网站!

📌 知识点总结:

  • http.createServer() 创建服务器
  • res.writeHead() 设置响应头
  • res.end() 发送响应并结束

4. npm:Node.js 包管理器

npm 是世界上最大的开源库生态系统。你几乎可以在 npm 上找到任何功能的代码包(比如数据库连接、日志处理、身份验证等),只需要安装就可以直接使用。

示例:使用第三方模块

以流行的 lodash(一个实用工具库)为例:

安装:

npm install lodash

新建文件 lodashDemo.js

const _ = require('lodash');

const arr = [1, 2, 3, 4, 5];
const shuffledArr = _.shuffle(arr);

console.log(shuffledArr);

运行:

node lodashDemo.js

你会发现输出的数组被随机打乱了。

📌 知识点总结:

  • npm install 包名 安装模块
  • 安装好的模块通过 require() 调用
  • node_modules 文件夹存放所有依赖包

实战项目:用 Node.js 做一个简单的网页服务器

为了加深理解,我们来做一个小项目——一个简单的网页服务器,能根据不同的 URL 返回不同的内容。

项目目标:

  • 当用户访问 / 时返回“首页”
  • 当用户访问 /about 时返回“关于我们”
  • 其他路径返回“404 页面不存在”

步骤 1:新建 website.js

const http = require('http');

const server = http.createServer((req, res) => {
  let content;

  switch(req.url) {
    case '/':
      content = '首页';
      break;
    case '/about':
      content = '关于我们';
      break;
    default:
      content = '404 页面不存在';
      res.writeHead(404, { 'Content-Type': 'text/plain' });
  }


![移动端适配方案-2](https://code-guide.oss.shanghai.autogptai.club/common/file/download?name=date2025063012/05c6c3c0-7119-4596-bf4c-8f4846eebf79.jpg)


  res.end(content);
});

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

步骤 2:运行服务器

node website.js

步骤 3:打开浏览器测试不同地址

  • 访问 http://localhost:3000/ → 显示“首页”
  • 访问 http://localhost:3000/about → 显示“关于我们”
  • 访问其他如 http://localhost:3000/contact → 显示“404 页面不存在”

🎯 到此为止,你已经完成了自己的第一个小型网页服务器!是不是很有成就感?


常见问题解答(FAQ)

问题 1:Node.js 和 JavaScript 有什么区别?

Node.js 是运行 JavaScript 的环境,就像浏览器一样。它本身不是一门新语言,而是让你在服务器上运行 JavaScript。

问题 2:为什么我运行 node 命令的时候提示命令未找到?

请确保你正确安装了 Node.js 并配置了环境变量。可以尝试重新安装 Node.js,或检查系统 PATH 是否包含 Node.js 的安装路径。

问题 3:npm install 报错怎么办?

常见原因包括网络问题、权限不足等。你可以:

  • 尝试使用代理镜像,如淘宝源:
npm config set registry https://registry.npmmirror.com/
  • 或者使用管理员权限安装:
sudo npm install 包名

问题 4:怎么知道某个模块的功能?

建议去官方文档或 npm 官网 查看模块说明,一般都有详细的用法示例。


学习建议:下一步你可以学什么?

恭喜你完成了从零开始的第一个 Node.js 教程!下面是一些推荐的学习方向:

1. 学习 Express 框架

Express 是一个基于 Node.js 的 Web 框架,可以让服务器开发更加高效。推荐学习内容包括:

  • 路由(Router)
  • 中间件(Middleware)
  • 模板引擎(如 EJS/Pug)

2. 学习 Node.js 异步编程

Node.js 默认是异步的,掌握 Promise、async/await 对写出稳定代码很重要。

3. 数据库存储

尝试连接数据库,比如 MongoDB、MySQL,可以使用 Mongoose、Sequelize 等 ORM 工具。

4. 实践项目

自己动手做一些小项目,比如:

  • 博客系统
  • API 接口服务
  • 文件上传服务器

你可以将这些项目发布到 GitHub,积累作品集。


总结与展望

Node.js 打开了 JavaScript 的大门,让它不仅仅局限于前端,也能做后端开发。今天我们完成了以下内容:

✅ 安装并运行了 Node.js
✅ 学习了模块化、文件操作、HTTP 服务的基本使用
✅ 写了一个能处理多个请求的小型 Web 服务器
✅ 解决了一些初学者常遇到的问题
✅ 给出了下一步的学习建议

随着学习的深入,你会发现 Node.js 的生态非常丰富,能做的事情远比今天展示的多得多。保持好奇心,坚持动手实践,相信你很快就能成为一名出色的开发者!

下一阶段的学习旅程,我们再一起出发吧!

评论 0

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