在 MEAN Stack 中分组后端路由2025年3月17日 | 阅读 3 分钟 在我们之前的章节中,更新和获取帖子都运行良好。但仍然缺少身份验证。现在,我们将所有内容都组织在 app.js 文件中。这个文件还不是很大,在本节中,我们将以不同的方式组织我们的路由,因为稍后我们将为身份验证添加更多路由。如果我们将它们分组,那将很好。我们将使用以下步骤来分组它们 1) 因此,正如我们在前端有一个文件夹和文件结构一样,我们希望在后端也拥有一个。除了我们的 "models" 文件夹之外,我们将添加另一个文件夹,并将其命名为 routes。在此文件夹中,我们将组织我们后端的路由。在此文件夹中,我们还将创建一个 javascript 文件,并将其命名为 posts,如下所示 ![]() 2) 在此文件中,我们将使用 javascript 语法导入 express,然后我们将通过创建一个新的常量来设置 express 路由器,如下所示 ![]() 3) 我们将定义我们的路由,就像我们在 js 文件中使用 app 一样,我们可以使用 router.get(),如下所示 ![]() 这与之前的 app 的工作方式相同。在此,我们可以通过获取其 URL 来复制路由。我们将 URL 作为第一个参数传递,将函数作为第二个参数传递。我们还可以获取 app.js 文件中的所有路由。 4) 因此,我们将从 js 文件中剪切所有路由,并将它们添加到 posts.js 文件中,并且我们还将把 app 替换为 router,如下所示 ![]() 5) 现在,我们需要导出此路由器,以使 express 知道它,为此,我们将使用 module.exports 语法,如下所示 ![]() 6) 我们需要将其导入到我们的 app.js 文件中,以便我们可以再次使我们的主 express 应用程序知道这些额外的路由,因为如果我们不导入路由器,那么我们所有的路由都将失败。因此,我们将按以下方式导入路由 导入路由对象后,我们需要让 express 知道它,这将通过以下方式完成 ![]() 7) app.js 文件中没有 postmodel 的用处,因为我们在路由中使用了我们的模型。因此,我们将从 app.js 文件中删除它,并将我们的 postmodel 导入到我们的 posts.js 文件中。 ![]() 8) 我们可以改进 use(postroutes). 稍后,我们将有多个路由文件,并且我们的 posts.js 文件应该只处理到达 /api.posts/nothing 或类似 id 的斜杠的路由。我们从我们的帖子请求中剪切 /api/posts,并假设到达该文件的任何路由或请求都已被过滤。为此,我们将 /api/posts 作为 app.use() 方法的第一个参数添加到 app.js 文件中,如下所示 ![]() 通过添加此行代码,我们过滤了指向 API 帖子的请求,并且只有 URL 或 URL 路径以 /api/posts 开头的请求才会被转发到帖子路由文件和路由设置中。 ![]() 9) 现在,我们还需要为 put 请求、get 请求和 delete 请求删除 /api/posts。 ![]() 我们应该仍然有一个像以前一样工作的应用程序,我们将通过添加或删除帖子来测试它。因此,我们将返回到我们的 angular 应用程序并尝试添加和删除帖子。 ![]() 在将路由分组到一个新文件后,一切运行良好。在我们的下一节中,我们将学习如何将加载指示器添加到我们的应用程序中。 下载完整项目(Grouping routes.zip) |
我们请求您订阅我们的新闻通讯以获取最新更新。