已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其只关注editing this post的一个问题。
5小时前关闭
Improve this question
我是全栈的新手,特别是NextJ。我有一个小的机会,开发一个简单的博客文章Web应用程序使用MERN堆栈。在开发应用程序时,我将前端和后端文件夹分开,并使用restful API在前端和后端之间进行通信,从而构建了一个MVC(模型,视图,控制器)架构。然而,NextJS和Prisma一起使用,后端的想法是不存在的,如果不是,我如何使用NextJS,Prisma和SQL或NoSQL数据库来构建MVC架构?
1条答案
按热度按时间t2a7ltrp1#
当你考虑一个Web应用程序时,你可以把它分解成几个主要部分。
首先,你有客户。客户端是面向用户的应用程序;而是用户与之交互的东西。
第二,你有服务器。服务器是后端,用于处理应用程序的业务逻辑。它还与数据库交互。
第三,你有数据库,这是你存储数据的地方。您不希望数据库受到威胁,因此需要保护赠款对数据库的访问权限的连接字符串。Web应用程序的客户端不应该存储任何类似数据库连接字符串的内容,因为客户端位于用户的机器上。这就是为什么您的后端或服务器应该是唯一可以与数据库交互的东西。
Next.js是React的一个框架。与React不同,Next.js有两个部分:客户端和服务器。你已经熟悉这两部分了。现在不同的是,Next.js正在为您做一些工作。以前,您必须创建一个新的Express应用程序来处理服务器。现在,Next.js已经为您提供了服务器。您可以使用Next.js服务器来处理API请求,与数据库交互等。你必须小心环境变量。其中一个变量是数据库连接字符串。如果在环境变量前加上
NEXT_PUBLIC_
,环境变量将暴露给客户端,因此也暴露给用户。你仍然可以使用你熟悉的MERN堆栈,只需要用Next.js替换React。
Prisma是一个与数据库通信的ORM。它不会替换MERN堆栈中的任何内容。您可以使用它与数据库进行交互,例如阅读/写数据、定义模式等。您可以在Express应用程序或Next.js应用程序的服务器代码中使用它。