Skip to content

ExpressJS - 首页

职位搜索 PDF 版本 快速指南 资源 讨论

Express.js 是一个针对 Node.js 的快速、非侵入式且极简的 Web 框架。它提供了一套强大的功能,用于构建单页、多页和混合式 Web 应用程序,以及强大的 API(应用程序编程接口)。作为 Node.js 的事实标准服务器框架,Express 是流行开发技术栈(如 MERN:MongoDB、Express、React、Node.js)的后端组成部分。

Express.js 是一个运行在 Node.js 运行时环境之上的服务器端(或称后端)框架。它通过抽象化处理 HTTP 请求和响应的复杂性,简化了构建 Web 服务器的过程。其核心功能——路由(Routing)和中间件(Middleware)——构成了一个强大而简洁的系统,用于引导用户请求、处理数据以及与数据库交互。

与 Django 或 Rails 等更具主见的框架不同,Express.js 不会强制规定严格的结构或构建应用程序的“唯一正确方式”。这种灵活性是它最大的优势。学习 Express 的主要原因包括:

  • 灵活性:你可以根据喜好组织你的应用程序,并从庞大的 npm 生态系统中插入任何兼容的模块。
  • 流行度:它是 Node.js 生态系统的基石,使其成为后端和全栈开发人员备受追捧的技能。
  • API 构建利器:其极简特性使其非常适合构建快速且可扩展的 RESTful API 和微服务。
  • 学习曲线平缓:如果你已经了解 JavaScript,Express 的核心概念将直观且易于掌握,为理解 Web 服务器的工作原理提供了坚实的基础。

在使用 Express 之前,你需要确保系统上已安装 Node.js 及其包管理器 npm。我们还建议使用 Node 版本管理器(nvm)来管理多个 Node.js 版本,这在专业开发中是一种常见做法。

  • 步骤 1:安装 Node.js 和 npm:从 Node.js 官方网站 下载并安装最新的 LTS(长期支持)版本。npm 会随 Node.js 一起安装。
  • 步骤 2:创建项目目录:打开你的终端或命令行工具,为你的项目创建一个新文件夹,然后进入该文件夹。
    Terminal window
    mkdir my-express-app
    cd my-express-app
  • 步骤 3:初始化项目:运行 npm init -y。此命令会创建一个 package.json 文件,用于管理项目的元数据和依赖项。
    Terminal window
    npm init -y
  • 步骤 4:安装 Express:现在,将 Express 作为项目依赖项进行安装。这会将其添加到你的 package.json 文件中。
    Terminal window
    npm install express
  • 步骤 5(推荐):安装 Nodemon 用于开发:nodemon 是一个工具,当检测到文件更改时会自动重启你的服务器。将其作为开发依赖(-D 或 --save-dev)安装,因为它在生产环境中不需要。
    Terminal window
    npm install -D nodemon
  • 步骤 6(推荐):添加开发脚本:打开你的 package.json 文件,并在 "scripts" 部分添加一个 dev 脚本。这创建了一种在开发模式下运行应用程序的标准化方式。
    {
    // ... 其他 package.json 内容
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon index.js"
    },
    // ...
    }

环境设置完成后,你就可以创建你的第一个服务器了。在你的项目目录中创建一个名为 index.js 的新文件,并添加以下代码:

// 1. 导入 Express 库
const express = require('express');
// 2. 创建一个 Express 应用程序实例
const app = express();
// 3. 定义服务器将运行的端口
// 如果环境变量 PORT 可用,则使用它,否则默认为 3000
const PORT = process.env.PORT || 3000;
// 4. 为根 URL ('/') 定义一个路由
// 这处理对主页的 GET 请求
app.get('/', (req, res) => {
// req: 请求对象,包含有关传入请求的信息
// res: 响应对象,用于向客户端发送响应
res.send('Hello, Modern World!');
});
// 5. 启动服务器并监听传入连接
app.listen(PORT, () => {
// 此回调函数在服务器成功启动后执行
console.log(`Server is running on http://localhost:${PORT}`);
});

保存文件。现在,你可以使用之前创建的 dev 脚本,而不是直接运行 node index.js。在你的终端中,输入:

npm run dev

你将在终端中看到消息 Server is running on http://localhost:3000。要测试你的应用程序,请打开 Web 浏览器并导航到 http://localhost:3000。浏览器将显示纯文本消息:Hello, Modern World!

在继续本教程之前,你应该对现代 JavaScript(ES6+)有扎实的理解,包括 const/let、箭头函数、Promise 和 async/await 等概念。由于 Express 是一个 Web 框架,熟悉 HTML、CSS 等 Web 技术以及 HTTP 的基本原理也大有裨益。最后,你应该熟练使用命令行/终端。

打下扎实的 Node.js 基础至关重要。随着本教程的深入,你将在基础知识上进一步学习,并探索更高级的主题。我们将遵循以下学习路径:

  • ExpressJS - 概述
  • ExpressJS - 环境
  • ExpressJS - Hello World
  • ExpressJS - 路由
  • ExpressJS - HTTP 方法(/expressjs/expressjs_http_methods.htm)
  • ExpressJS - URL 构建
  • ExpressJS - 中间件
  • ExpressJS - 模板
  • ExpressJS - 静态文件
  • ExpressJS - 表单数据
  • ExpressJS - 数据库
  • ExpressJS - Cookies
  • ExpressJS - 会话
  • ExpressJS - 认证
  • ExpressJS - RESTful API
  • ExpressJS - 脚手架
  • ExpressJS - 错误处理
  • ExpressJS - 调试
  • ExpressJS - 最佳实践
  • ExpressJS - 资源

精通 Express.js 是科技行业许多职位的关键技能。它是无数初创公司和成熟企业的基础技术。通过掌握 Express,你将在以下领域开启职业发展机遇:

  • 后端开发人员:专注于构建驱动 Web 应用程序的服务器端逻辑、API 和数据库集成。
  • 全栈开发人员:负责应用程序的客户端(前端)和服务器端(后端)工作,通常使用像 MERN 或 MEVN 这样的技术栈。
  • API 开发人员:专注于为 Web 和移动客户端设计、构建和维护健壮且可扩展的 RESTful API 或 GraphQL 服务。