课程简介
让我们来了解课程的组织结构以及MERN栈的基础知识。
MongoDB、Express、React、Node.js (MERN) 是构建现代单页应用(SPA)的流行技术栈。
- MongoDB 是一种 NoSQL 数据库,以集合和文档的形式持久化存储数据。
- Express 是基于 Node.js 的 Web 应用框架,使 Node.js 开发更加简便高效。
- React 是一个用于构建用户界面的 JavaScript 前端库。
- Node.js 是最流行的服务器端运行环境之一,允许在服务器上执行 JavaScript 代码。Node 和 Express 共同构成该技术栈的中间层服务器。
MERN 技术栈源自流行的 MEAN 栈(MongoDB、Express、Angular、Node),但将前端框架从 Angular 换成了 React。另一个常见变体是 MEVN 栈,其中使用 Vue.js 作为前端。这些前端框架共同构建了单页应用(SPA),避免页面整体刷新,仅从服务器获取所需内容片段来动态更新页面。
我们将开发一个 电影评论应用,让用户能够查看和搜索外部数据库中的电影信息。用户还可以登录后对电影发表评论,如下图所示:
用户可以在电影详情页查看评论列表,并在登录后发布、编辑或删除自己的评论,但无法操作其他用户的评论。
No configuration found for ID: e18779549ecd4993c1fc5205ad844fe4b0f72707a29bd153cfb9a722abef3203
通过这个项目,我们将深入掌握大量核心概念,并巩固对 MongoDB、Express、React 和 Node.js 的理解。首先,我们将学习 MongoDB 及如何使用 MongoDB Atlas 将数据库托管在云端。接着,使用 Node.js 和 Express 构建应用后端,服务器通过原生 MongoDB JavaScript 驱动与数据库交互。
随后,我们将使用 React 构建前端,并将其与后端连接,完成完整的 MERN 应用。在最后一章中,我们将把 Node.js 和 Express 后端部署到 Heroku,React 前端部署到 Netlify,实现前后端在云端的运行。整个应用的整体架构如下:
- 技术栈中的 “M” —— MongoDB,将托管在 MongoDB Atlas 上。MongoDB Atlas 是一种多云数据库服务,负责数据库服务器的部署与管理。
- 技术栈中的 “E” 和 “N” —— Express 和 Node,共同运行后端服务器(Express 是 Node.js 的一部分),并对外提供 API 接口。该服务部署在 Heroku 上。Heroku 是一个基于容器的云平台,用于部署、管理和扩展现代应用程序。
- 技术栈中的 “R” —— React,作为前端,负责调用 API 并在客户端浏览器中渲染用户界面。该应用部署在 Netlify 上。Netlify 是一个广受好评的网页开发平台,适用于网站的构建、测试与部署。