Node.js 是一个流行的后端 JavaScript 开源运行环境,它可以让你使用 JavaScript 来编写服务器端应用程序。而 MongoDB 是一个流行的 NoSQL 数据库,它可以存储半结构化或非结构化的数据。在这篇文章中,我们将学习如何使用 Node.js 和 MongoDB 来构建一个简单的博客。
安装 Node.js 和 MongoDB
在开始之前,你需要先安装 Node.js 和 MongoDB。你可以通过访问以下链接来下载它们:
安装好之后,你需要启动 MongoDB 服务器。你可以使用以下命令来启动 MongoDB:
------
初始化 Node.js 项目
接下来,我们需要创建一个新的 Node.js 项目。打开命令行终端,进入你想要存储项目的文件夹,并运行以下命令:
--- ----
在初始化完成后,你会得到一个 package.json
文件。这个文件将会用于描述项目的依赖项和其他信息,例如版本号和作者。
安装依赖项
下一步是安装项目所需的依赖项。我们需要安装以下依赖项:
express
:用于创建 Web 服务器mongoose
:用于连接 MongoDB 数据库marked
:用于将 Markdown 转换为 HTML
你可以通过以下命令来安装它们:
--- ------- ------- -------- ------
创建服务器
我们将使用 Express.js 框架来创建我们的服务器。我们需要创建一个新的 app.js
文件,并在其内部编写以下代码:
----- ------- - ------------------- ----- --- - ---------- ------------ ----- ---- -- - --------------- --------- --- ---------------- -- -- - ------------------- -- --------- -- ---- ------- ---
以上代码将创建一个简单的 Express 应用程序,它将监听来自本地机器上的端口 3000 的请求。当用户访问首页时,它将会返回一个字符串 "Hello world!"。
启动服务器,你可以使用以下命令:
---- ------
在浏览器中访问 http://localhost:3000,你将会看到 "Hello world!" 字符串。
连接 MongoDB 数据库
接下来,我们需要连接 MongoDB 数据库。我们将使用 Mongoose 库来连接数据库并定义数据模型。我们需要创建一个新的 db.js
文件,并在其内部编写以下代码:
----- -------- - -------------------- ----------------------------------------------- - ---------------- ----- --------------- ----- ------------------- ----- --- ----- -- - -------------------- -------------- --------------------------- ----------- ---------- --------------- -- -- - ---------------------- -- --- ------------ ---
以上代码将连接名为 "blog-db" 的本地 MongoDB 数据库。如果连接成功,将会输出 "Connected to the database!" 字符串。
创建数据模型
我们需要创建一个博客文章的数据模型。我们需要创建一个新的 post.js
文件,并在其内部编写以下代码:
----- -------- - -------------------- ----- ------ - ------------------ ----- ---------- - --- ----------------- ------ - ----- ------- --------- ----- -- -------- - ----- ------- --------- ----- -- ----- - ----- ----- -------- --------- -- ----- - ----- ------- --------- ----- -- --- -------------------------- -------- ------ - -- -------------- - --------- - --------------------- - ------- --- -------------- - ---------------------- ------------
以上代码创建了名为 "Post" 的数据模型,它具有标题、内容、日期和 HTML 字段。每当保存数据时,它都将使用 marked
库将 Markdown 内容转换为 HTML 字符串。
创建路由
我们将使用 Express 应用程序中的路由来处理 HTTP 请求。我们需要创建一个新的 routes.js
文件,并在其内部编写以下代码:
----- ------- - ------------------- ----- ------ - ----------------- ----- ---- - ------------------------- --------------- ----- ----- ---- -- - ----- ----- - ----- ------------------ ----- ------ --- ------------------- - ----- --- --- ------------------ ----- ---- -- - ------------------ --- ------------------- ----- ----- ---- -- - ----- - ------ ------- - - --------- ----- ---- - --- ------ ------ ------- --- ----- ------------ ------------------ --- -------------- - -------
以上代码将会创建三个路由:
/
路由将渲染博客文章列表页。它将从数据库中获取所有文章,并按日期倒序排列。/new
路由将渲染创建新博客文章页面。POST /new
路由将保存新博客文章至数据库,并将用户重定向至博客列表页。
注意我们在 index
和 new
路由中使用了 res.render
方法。这个方法将会根据传入的视图名称和变量,渲染出一个 HTML 页面。我们需要在项目中创建一个名为 "views" 的文件夹,并在其中创建两个名为 "index.ejs" 和 "new.ejs" 的视图文件。
例如,一个非常简单的 "index.ejs" 文件如下所示:
------ ------ --------- ------------ ------- ------ ------ --------- ---- -- --- ------ ---- -- ------ - -- ---- ------- ---------- ------- ------ --------- ------ ---------- ------------------------ ---------- ----- -- - -- ----- -- --------------- -------- ------- -------
启动服务器
现在我们已经编写了所有需要的代码,让我们启动服务器并尝试访问它们。
你可以使用以下命令来启动服务器:
---- ------
现在你可以在浏览器中访问 http://localhost:3000 来访问博客页面,或在 http://localhost:3000/new 来访问创建新文章的页面。
总结
在这篇文章中,我们学习了如何使用 Node.js 和 MongoDB 构建一个简单的博客。
我们使用了 Express 应用程序来创建服务器,并使用 Mongoose 库来连接 MongoDB 数据库和定义数据模型。
我们还学习了如何使用 Express 路由来处理 HTTP 请求,以及如何使用 EJS 视图来渲染 HTML 页面。
虽然这只是一个简单的示例,但你可以使用这些技术来构建更大且更复杂的应用程序。如果你想要了解更多有关 Node.js、Express 和 MongoDB 方面的信息,请访问其官方文档。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/648aaca148841e98948c7060